0

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

用 Excel 显示的曲线

用 matplotlib 显示的曲线

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

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

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

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

4

2 回答 2

0

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

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()

在此处输入图像描述

您可以使用日期格式化程序来更改 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()

在此处输入图像描述

于 2020-08-25T14:47:13.513 回答
0

你必须先导入 pandas 和 matplot

import pandas as pd
import matplotlib.pyplot as plt

那么你必须使用 pandas ex 打开数据pd.read_csv("anything.csv")

于 2020-08-25T14:04:35.813 回答