2016-09-16 2 views
2

y 축이 0.0과 1.0 사이의 숫자 인 동안 x 축이 기하학적 인 시퀀스 인 플롯을 생성하려고합니다. 내 코드는 다음과 같습니다 : 당신이 볼 수 있듯이xticks 값을 균등하게 간격을 두는 방법?

My plot

, 내가 명시 적으로 설정하고 X 축이 기하학적에 속하는 것들에 틱이 같은 플롯을 생성

form matplotlib import pyplot as plt 
plt.xticks(X) 
plt.plot(X,Y) 
plt.show() 

순서.

내 질문 : 시퀀스의 초기 용어가 작아서 함께 모이기 때문에 값에 관계없이 x- 틱을 균일하게 배치 할 수 있습니까? 베이스의 거듭 제곱을 다루는 것이 이상적이지만, 기하학적 시퀀스가 ​​아닌 이상적인 대수적 스케일의 종류 일 것입니다.

답변

2

커브를 매개 변수화하는 "자연스러운"변수의 함수로 변수를 플로팅하면됩니다.

n = 12 
a = np.arange(n) 
x = 2**a 
y = np.random.rand(n) 

fig = plt.figure(1, figsize=(7,7)) 
ax1 = fig.add_subplot(211) 
ax2 = fig.add_subplot(212) 

ax1.plot(x,y) 
ax1.xaxis.set_ticks(x) 

ax2.plot(a, y) #we plot y as a function of a, which parametrizes x 
ax2.xaxis.set_ticks(a) #set the ticks to be a 
ax2.xaxis.set_ticklabels(x) # change the ticks' names to x 

생성 : 예를 들어

enter image description here

+0

I 마찬가지로 pyplot.axes.set_xticks() 및 pyplot.axes.set_xlabels()를 사용하여 해결. 나는 내 자신의 질문에 답할 계획 이었지만 여기에 큰 답을 주었다. 내가 쓰는 것보다 훨씬 낫다. 감사. – rahul1210

관련 문제