2017-12-06 2 views
0

공간을 채운 후 동일한 시각적 길이를 갖는 matplotlib의 텍스트를 만들기 위해 고심하고 있습니다. 그것은 항상 나를 위해 작동하지 않습니다. 여기matplotlib 공간을 채운 후 시각적으로 동일한 길이의 텍스트를 만드는 방법

, 나는 시도 것을

from matplotlib import pyplot as plt 

fig = plt.figure() 
plt.text(0,1,'how are you', bbox=dict(facecolor='red', alpha=0.5)) 
plt.text(0,0,'how'.ljust(len('how are you'), bbox=dict(facecolor='red', alpha=0.5)) 
plt.show() 

그리고 아이디어인가?

감사합니다.

답변

1

ljust은 지정한만큼 많은 공백을 텍스트에 추가합니다. 그러나 일반 글꼴의 경우 다른 문자보다 작은 공백이 있습니다. 비교 :

enter image description here

낮은 텍스트는이 (공백 포함) 각 문자가 같은 공간이 소위 모노 스페이스 글꼴로 작성된 것입니다 - 따라서 이름.

당신은 의도 된 방식으로 프로그램 작업을 만들기 위해 이러한 글꼴을 사용해야합니다

: 당신의 텍스트 뒤에 사각형을 배치 할 수이 옵션을 선택하지 않으면

from matplotlib import pyplot as plt 
plt.rcParams['font.family'] = 'monospace' 

fig = plt.figure() 
plt.text(0,1,'how are you', bbox=dict(facecolor='red', alpha=0.5)) 
plt.text(0,0,'how'.ljust(len('how are you')), bbox=dict(facecolor='red', alpha=0.5)) 
plt.show() 

enter image description here

너는 너의 욕망에 너비를 정해,이 질문을 보아라. Matplotlib: how to specify width of x-label bounding box

관련 문제