답변:
가장 좋은 방법은 axes
객체와 직접 상호 작용하는 것입니다.
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0, 10, 0.1)
y1 = 0.05 * x**2
y2 = -1 *y1
fig, ax1 = plt.subplots()
ax2 = ax1.twinx()
ax1.plot(x, y1, 'g-')
ax2.plot(x, y2, 'b-')
ax1.set_xlabel('X data')
ax1.set_ylabel('Y1 data', color='g')
ax2.set_ylabel('Y2 data', color='b')
plt.show()
matplotlib를 엉망으로 만들지 않고 간단한 솔루션이 있습니다. 판다뿐입니다.
원래의 예를 수정 :
table = sql.read_frame(query,connection)
ax = table[0].plot(color=colors[0],ylim=(0,100))
ax2 = table[1].plot(secondary_y=True,color=colors[1], ax=ax)
ax.set_ylabel('Left axes label')
ax2.set_ylabel('Right axes label')
기본적으로 secondary_y=True
옵션이 주어지면 (물론 ax=ax
전달 되더라도 ) pandas.plot
레이블을 설정하는 데 사용하는 다른 축을 반환합니다.
나는 이것이 오래전에 답변되었다는 것을 알고 있지만,이 접근법이 그만한 가치가 있다고 생각합니다.