2013-05-16 3 views
2

Matplotlibpyplot.plot() 기능을 사용하여 일부 데이터를 플로팅 중입니다.Matplotlib에서 X 틱 수와 라벨 수를 지정하는 방법은 무엇입니까?

데이터의 X 값은 정수이지만이 숫자는 아무 의미도 없습니다. 예를 들어 는 :

x_vals = [2, 34, 456, 999, 10000] 

그러나,하기 matplotlib이 실제 X의 값입니다 생각한다. 그것은 X 축을 확장 및 표시 플롯에 다음과 같이 틱 :이다

| 
| 
| 
| 
+---+----+----+----+ 
2 34 456 999 10000 

, 나는 수를 원하는 :

| 
| 
| 
| 
+---+----+----+----+----+ 
0 2000 4000 6000 8000 10000 

내가 원하는 것은 맹목적으로 같은 X 축을 사용하여 플롯하기 matplotlib입니다 틱 수를 전달한 X 값의 수와 같아야합니다. 또한 값을 맹목적으로 해석하여 문자열로도 사용하고자합니다.

어떻게 Matplotlib에서이 작업을 수행 할 수 있습니까?

답변

2

가능한 한 가지 해결책은 x 축을 따라 실제 x 값 대신 range을 플롯 한 다음 수동으로 레이블을 원하는 값으로 변경하는 것입니다. 환언

:

plt.plot(range(len(y_values)), y_values) 
plt.gca().xaxis.set_ticklabels(x_values) 

여기서,이 경우, x_values = [2, 34, 10000]인치

+0

감사합니다. 또한 X tick의 수를 설정해야한다는 것도 발견했습니다. 나는 수정했고 당신의 대답을 받아 들였다 :) –

+0

나의 최초의 대답으로 굴러 돌아왔다. 이유에 대한 자세한 내용은 [이 게시물] (http://meta.stackexchange.com/a/120583/223330)을 참조하십시오. – hooy

관련 문제