python - 具有等距x轴值python的线图
问题描述
我有一组由时间和值组成的数据。
使用此代码,我得到:
time=['07:45','8:15','8:45','9:35','10:15','15:05','16:05']
value=[3,8,12,54,23,12,5]
plt.plot(time,value)
plt.show()
如您所见,10:15 和 15:15 之间存在巨大差距。我想要一个 x 轴,它也反映一个记录和另一个记录之间的时间差。换句话说,我需要 10:15 和 15:15 之间的差距大于 07:45 和 8:15 之间的差距。有没有办法做到这一点?
谢谢!
解决方案
显然其他回答者没有看到我的评论。我所说的“实际绘制时间值”的意思是将时间转换为datetime
对象。然后将它们绘制成默认的等距标签。如果需要,可以通过指定 H:M 格式来美化它们。
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
from datetime import datetime
time=['07:45','8:15','8:45','9:35','10:15','15:05','16:05']
truetime = [datetime.strptime(t, "%H:%M") for t in time]
value=[3,8,12,54,23,12,5]
plt.plot(truetime,value)
plt.gca().xaxis.set_major_formatter(mdates.DateFormatter("%H:%M"))
plt.show()
推荐阅读
- c# - DotNet Core Xunit 总是去 Catchblock
- oracle - Oracle:使用 IN AND Out 参数调用 SP
- solr - SOLR 5.5.5:在 core.propoerties 文件中加密密码
- json - 在自定义序列化程序中对枚举使用默认序列化
- android - 如何确保 Android 图库正确旋转在我的应用中拍摄的图像
- purescript - 了解纯脚本变体
- c# - Parellel.For 没有按照我预期的方式工作
- angular - Nativescript Firebase 登录和注册
- node.js - Node.js:SQLITE_ERROR:“$entry”附近:语法错误
- asp.net - .net core 2.1 从另一个位置重定向 cookie 值始终为空