使用matplotlib绘制日期时间数据时出错

时间:2020-08-25 13:56:38

标签: python-3.x matplotlib plot python-datetime

我正在努力与matplotlib一起根据来自日期(YYYY-MM-DD HH:MM:SS)和浮点数的传感器数据绘制曲线。我一直在寻找有关如何绘制日期时间值的信息,并且能够显示它们,但是得到的数字不正确:

Curve displayed with Excel

Curve displayed with matplotlib

这是我的代码,用于显示这样的图形(此脚本是FreeCAD插件的一部分):

dates = matplotlib.dates.date2num(xData)
plt.plot_date(dates,yData)
plt.show()

xData和yData是从文件DATA.txt:https://wetransfer.com/downloads/04fd9842a0beb0fd0e06666908b2562720200825135406/87b28f中提取的值的列表。

任何建议将不胜感激!谢谢

2 个答案:

答案 0 :(得分:0)

您必须首先导入熊猫和Matplot

import pandas as pd
import matplotlib.pyplot as plt

然后您必须使用熊猫打开数据 前pd.read_csv("anything.csv")

答案 1 :(得分:0)

我使用文本编辑器将分隔符替换为,,例如

0.13934599999999955,2020-07-12 15:31:11
0.1562399999999998,2020-07-12 15:24:07
0.20419800000000032,2020-07-12 15:16:52
0.0922520000000004,2020-07-12 15:02:33
0.19564400000000023,2020-07-12 14:55:30
0.14740400000000045,2020-07-12 14:48:15

程序在这里:

import matplotlib.pyplot as plt
import pandas as pd

df = pd.read_csv("DATA.txt")

df.columns = ['Value', 'Date']
df['Date'] = pd.to_datetime(df['Date'], format='%Y-%m-%d %H:%M:%S')

plt.plot(df['Date'], df['Value'])

plt.show()

enter image description here

您可以使用Date formatters更改xlabel的格式。您可以使用strftime.org检查格式代码。

import matplotlib.pyplot as plt
import matplotlib.dates as mdates
import pandas as pd

df = pd.read_csv("DATA.txt")

df.columns = ['Value', 'Date']
df['Date'] = pd.to_datetime(df['Date'], format='%Y-%m-%d %H:%M:%S')

plt.plot(df['Date'], df['Value'])

plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%d/%m/%Y'))

plt.show()

enter image description here

相关问题