首页  >  文章  >  后端开发  >  为什么我的 Matplotlib Y 轴值无序以及如何修复它?

为什么我的 Matplotlib Y 轴值无序以及如何修复它?

Linda Hamilton
Linda Hamilton原创
2024-10-24 09:47:02706浏览

Why Are My Matplotlib Y-Axis Values Unordered and How to Fix It?

Matplotlib y 轴值未排序:解决方案

在 matplotlib 中,绘制来自CSV 文件。为了解决这个问题,确保数据作为数值而不是字符串处理是至关重要的。

考虑以下代码:

<code class="python">I020 = [ line.strip('\n').split(",") for line in open(r'D:\Users\a0476\Anaconda3\TickData\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 = [ line[1] for line in I020 ]

# Convert y-axis data to floats
Solar = [float(line[1]) for line in I020]

xs = np.array(Time1)
ys = np.array(Solar)

fig, ax = plt.subplots() # using matplotlib's Object Oriented API

ax.set_title('Solar data')
ax.set_xlabel('Time')
ax.set_ylabel('Solar')
ax.plot_date(xs, ys, 'k-')

hfmt = mdates.DateFormatter('%H:%M:%S')
ax.xaxis.set_major_formatter(hfmt)
plt.gcf().autofmt_xdate()

plt.show()</code>

通过转换 y 轴数据(Solar )到浮点数,代码正确地将值解释为数字,从而产生有序的 y 轴。

此外,启用 x 轴自动格式化 (plt.gcf().autofmt_xdate()) 可以改进情节的布局和可读性。这在处理日期/时间数据时特别有用。

以上是为什么我的 Matplotlib Y 轴值无序以及如何修复它?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn