You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Matplotlib绘制CSV列数据时Y轴按升序显示?

让Matplotlib图表Y轴按升序显示Postcode数值

原代码存在一个小问题:new_df未定义,应该替换为读取数据的df。要实现Y轴数值按升序标记显示,只需对Postcode值排序后设置为Y轴刻度即可,修正后的代码如下:

import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_csv('PracTest5/addresses_h.txt')

# 提取前8行的Postcode列(修正原代码的new_df错误)
subset = df.loc[:7, "Postcode"]
plt.plot(subset)
plt.xlabel("Row Number")
plt.ylabel("Postcode")
plt.title("Postcode Data")

# 对Postcode值升序排序,设置为Y轴刻度
sorted_postcodes = sorted(subset.unique())
plt.yticks(sorted_postcodes)

plt.show()

关键改动说明:

  • 修正了原代码中未定义的new_df变量,替换为实际读取数据的df
  • 使用sorted(subset.unique())获取前8行Postcode的唯一值并进行升序排序,再通过plt.yticks()将排序后的数值设置为Y轴的显示刻度,确保Y轴按升序标记
  • 如果需要Y轴显示所有出现的Postcode值(包括重复项),可以将sorted(subset.unique())替换为sorted(subset),但使用唯一值能让刻度更简洁清晰

内容的提问来源于stack exchange,提问作者Indura Wijeratne

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 06:34:58