2013-08-16 1 views
1

필라랍 사용 방법을 배우려고합니다. (나머지 도구와 함께). 저는 현재 파이롯트를 이해하려고 노력하고 있습니다 만, 매우 특정한 유형의 플롯을 만들어야합니다. 이것은 기본적으로 Y 축에 숫자 대신 단어가있는 선 그림입니다. 이 같은pyplot/matplotlib에서 y 값으로 사용되는 단어

뭔가 :

hello | +---+ 
world |   +---------+ 
     +---|---|---|---|---|--> 
     0 1 2 3 4 5 

이 어떻게 할 것이라고 어떤 파이썬 그래픽 라이브러리? 보풀 포인트는 pyplot 또는 pylab suite 라이브러리 사용법을 보여 주면됩니다.

감사합니다. chmod를

+0

http://stackoverflow.com/questions/15882249/matplotlib-aligning-y-ticks-to-the-left/15883858#15883858 – tacaswell

+0

@tcaswell 적어도이 하나의 의미있는 제목이 있습니다 ... – joaquin

+1

@joaquin 공정하다. 다른 하나의 제목을 의미있는 이름으로 편집했습니다. – tacaswell

답변

5

나는 코드로 모든 설명을 추가 :

:

# Import the things you need 
import numpy as np 
import matplotlib.pyplot as plt 

# Create a matplotlib figure 
fig, ax = plt.subplots() 

# Create values for the x axis from -pi to pi 
x = np.linspace(-np.pi, np.pi, 100) 

# Calculate the values on the y axis (just a raised sin function) 
y = np.sin(x) + 1 

# Plot it 
ax.plot(x, y) 

# Select the numeric values on the y-axis where you would 
# you like your labels to be placed 
ax.set_yticks([0, 0.5, 1, 1.5, 2]) 

# Set your label values (string). Number of label values 
# sould be the same as the number of ticks you created in 
# the previous step. See @nordev's comment 
ax.set_yticklabels(['foo', 'bar', 'baz', 'boo', 'bam']) 

그게 전부에요 ...

enter image description here

또는 당신은 단지 줄거리가 필요하지 않은 경우

import numpy as np 
import matplotlib.pyplot as plt 

x = np.linspace(-np.pi, np.pi, 100) 
y = np.sin(x) + 1 
plt.plot(x, y) 
plt.yticks([0, 0.5, 1, 1.5, 2], ['foo', 'bar', 'baz', 'boo', 'bam']) 

이것은 sa를 수행하는 데 필요한 짧은 버전입니다. 당신이 그림과 하위 도표를 필요로하지 않는다면 저에게 해줄 수 있습니다.

+2

코드의 마지막 주석에서 완전히 "정확하지"않습니다. 틱 레이블의 수는 틱 수와 같지 않아야합니다. 틱 레이블 수가 틱 수보다 낮 으면 해당 틱 레이블이없는 틱은 해당 틱 레이블이 설정되지 않고 빈 문자열로 남습니다. 틱 레이블의 수가 틱 수보다 높으면 중복 틱 레이블이 무시됩니다. 어느 쪽도 오류를 발생시키지 않습니다. 하지만 대부분의 경우 솔루션이 가장 직관적입니다. – hooy

+1

감사합니다. 결정된. –

+0

매우 간결한 대답이었고 정확히 내가 찾고 있던 것이 었습니다! 모두에게 감사드립니다! – Chmod

관련 문제