matplotlib에서 y축 값이 예상치 못한, 순서가 지정되지 않은 형태로 나타나는 경우, 이러한 값의 데이터 유형으로 인해. 종종 숫자 대신 문자열로 표시됩니다.
이 문제를 해결하려면 목록 이해 중에 y축 데이터를 명시적으로 캐스팅하여 부동 소수점으로 변환하세요.
<code class="python">Solar = [float(line[1]) for line in I020]</code>
데이터 너머 변환을 수행하려면 날짜 및 시간 작업 시 matplotlib의 x축 자동 서식 지정 기능을 활용하는 것이 좋습니다. 이 기능은 그래프의 가독성을 높이기 위해 레이블 회전 및 기타 측면을 자동으로 조정합니다.
<code class="python">plt.gcf().autofmt_xdate()</code>
설명을 위해 제공된 코드를 수정해 보겠습니다.
<code class="python">I020 = [line.strip('\n').split(",") for line in open('PV5sdata1.csv')][1:] Time = [datetime.datetime.strptime(line[0], "%H%M%S%f") for line in I020] Time1 = [mdates.date2num(line) for line in Time] Solar = [float(line[1]) for line in I020] fig, ax = plt.subplots() ax.set_title('Solar data') ax.set_xlabel('Time') ax.set_ylabel('Solar') ax.plot_date(Time1, Solar, 'k-') hfmt = mdates.DateFormatter('%H:%M:%S') ax.xaxis.set_major_formatter(hfmt) plt.gcf().autofmt_xdate() plt.show()</code>
이 수정된 코드에서 다음을 선언합니다. 그림과 축을 별도의 개체로 분리합니다(그림, 도끼). 이 접근 방식은 플롯 속성을 사용자 정의할 때 더 많은 제어력과 유연성을 제공합니다.
결과 그래프는 잘 정렬된 y축 값과 향상된 x축 레이블 지정을 표시합니다.
[정렬된 y축 및 향상된 X축 라벨링]
위 내용은 Matplotlib Y축 값이 정렬되지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!