Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Matplotlib 두 개의 Y축 차트에서 막대와 선을 정렬하는 방법은 무엇입니까?

<시간/>

matplotlib의 두 Y축 차트에서 막대와 선을 정렬하려면 twinx()를 사용할 수 있습니다. X축은 공유하지만 Y축은 독립적인 쌍의 축을 만드는 방법입니다.

단계

  • Figure 크기를 설정하고 서브플롯 사이와 주변의 패딩을 조정합니다.

  • 1열과 2열로 Pandas 데이터 프레임을 만듭니다.

  • plot()을 사용하여 데이터 프레임을 플로팅합니다. kind="bar"가 있는 메서드 , 즉, 이름별 클래스입니다.

  • twinx() 사용 X축은 공유하지만 Y축은 독립적인 쌍의 축을 만드는 방법입니다.

  • 축(3단계) 눈금과 데이터 프레임 열 값을 그려 선을 그립니다.

  • 그림을 표시하려면 show()를 사용하세요. 방법.

from matplotlib import pyplot as plt
import pandas as pd

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

df = pd.DataFrame({"col1": [1, 3, 5, 7, 1], "col2": [1, 5, 7, 9, 1]})
ax = df.plot(kind="bar")
ax2 = ax.twinx()

ax2.plot(ax.get_xticks(),
   df[['col1', 'col2']].values,
   linestyle='-',
   marker='o', linewidth=2.0)

plt.show()

출력

Matplotlib 두 개의 Y축 차트에서 막대와 선을 정렬하는 방법은 무엇입니까?