0
matplotlib에 두 개의 x 축을 가진 그래프를 플롯하려고합니다. 그러나, 내가matplotlib에서 x 축 2 개가 작동하지 않습니다.
import matplotlib.pyplot as plt
import numpy as np
fig = plt.figure()
ax1 = fig.add_subplot(111)
x = np.linspace(-10,10,1000)
y = np.sin(x*np.pi/2)
ax1.plot(x,y)
ax2 = ax1.twiny()
tick_locations = ax1.get_xticks() - 5.
tick_labels = ax1.get_xticks()
ax2.set_xticks(tick_locations[1:])
ax2.set_xticklabels(tick_labels[1:])
plt.show()
에 기대하는 방법으로 행동하지 것은 제공 :
는는 AX2 라벨 읽기 안 : [ -5. 0. 5. 10.]
AX1 위치에서 [-10. -5. 0. 5.]
어떤 아이디어가 왜 그들을 기지개합니까?
[이 게시물에 대한] Carla gama의 답변 (http://stackoverflow.com/questions/10514315/how-to-add-a-second-x-axis-in-matplotlib)을 기반으로 할 수있는 것으로 보입니다. 틱 위치를 선택 하시겠습니까? – Ben
@Ben 대답 업데이트 됨, set_xlim 사용 – zhangxaochen
'set_xticks' 다음에'set_xlim'이 필요합니다. 다른 현명한'set_xticks'는 한계를 다시 정의합니다. 하지만 네 말이 맞아, 그게 문제 야. – Ben