>source

나는 최소값과 최대 온도를 하루에 줄이고 2 라인을 플롯해야합니다.

내 데이터 프레임은 다음과 같습니다.

Date  min  max  min2015  max2015
0    01-01 -160  156     -133       11
1    01-02 -267  139     -122       39
2    01-03 -267  133      -67       39
3    01-04 -261  106      -88       44

Day and month로만 포맷 한 날짜 열에 대해서만, 그 이유는 2004-2014 년 사이의 온도의 믹스와 혼합이 이루어지는 이유는 그 해가없는 이유입니다.

그래서 나는 이렇게 계획하려고 시도했다.

fig, ax= plt.subplots(figsize=(10, 6))
    axb= ax.twinx()
    # Same as above
    ax.set_xlabel('Date')
    ax.set_ylabel('Temp')
    ax.set_title('Min and Max temperature 2004-2014')
    ax.grid(True)
    # Plotting on the first y-axis
    ax.plot(new_df.Date, new_df['min'], color='tab:orange', label='Min')
    ax.plot(new_df.Date, new_df['max'], color='tab:olive', label='Max')

그러나 나는 이것을 얻는다 :

ValueError: could not convert string to float: '12-31'

Pandas 1.2.4, MATPLOTLIB 3.3.4 -문제를 복제 할 수 없습니다.

dm22021-07-22 12:04:19
  • 답변 # 1

    '플롯'기능은 문자열 유형을 식별 할 수 없으며 'plot_date'함수를 대신 사용할 수 있습니다.

    plt.xlabel('Date')
    plt.ylabel('Temp')
    plt.title('Min and Max temperature 2004-2014')
    plt.grid(True)
    plt.plot_date(['01-01', '01-02', '01-03'], [13, 15, 12], color='tab:orange', label='Min')
    plt.show()
    

    다음 그림을 얻을 수 있습니다.

    감사합니다. Plot_date로 플롯을 교체하면 다음을받습니다. 오류 : 'Str'개체에는 속성 '전용 탐색'이 없습니다.

    Luis Valencia2021-07-22 12:19:37

    아마도 MATPLOTLIB 버전을 업데이트하려고 할 수 있습니다.

    Morty2021-07-22 12:37:24

    그것에 대한 작업 : PIP 설치 -upgrade matplotlib.

    Luis Valencia2021-07-22 12:40:52
  • 이전 c++ : 음수를 Goopt에 전달합니다
  • 다음 Java의 Weird Links에서 파일을 다운로드하는 방법은 무엇입니까?