gpt4 book ai didi

python - 如何使用 matplotlib 在绘图的 x 轴上同时显示日期和时间

转载 作者:行者123 更新时间:2023-12-01 08:08:17 26 4
gpt4 key购买 nike

我有以下代码来绘制预期输出:

import matplotlib.pyplot as plt
import csv
import datetime
import matplotlib.dates as mdates
import re

Time = []
station12SRV = []
station18SRV = []

with open('Book2.csv','r') as csvfile:
plots = csv.reader(csvfile, delimiter=',')
for row in plots:

datetime_format = '%d/%m/%Y %H:%M'
date_time_data = datetime.datetime.strptime(row[0],datetime_format)
Time.append(date_time_data)
station12SRV.append(float(row[1]))
station18SRV.append(float(row[2]))

plt.plot(Time,station12SRV, label='Tracker Station 12')
plt.plot(Time,station18SRV, label='Tracker Station 18')

plt.xlabel('Date & Time')
plt.ylabel('Pressure (Torr)')
plt.yscale('log')
#plt.title('SRV Plot vs Time')
plt.legend()
plt.savefig('trackers_srv.pdf')
#plt.show()

但是,在绘图上,x 轴并不同时显示日期和时间,而仅显示时间:

the plot

如何让它在 x 轴上同时显示日期和时间?谢谢。

最佳答案

在 x 轴上格式化日期和时间的最简单方法之一是将数据放入 Pandas 数据框中并使用 df.plot():

import matplotlib.pyplot as plt
import numpy as np; np.random.seed(3)
import pandas as pd

# Generate sample data
Time = pd.date_range('3/1/19 12:00 AM', '3/3/19 12:00 AM', freq='1H')
n = len(Time)
df = pd.DataFrame({'Tracker Station 12': np.random.rand(n), 'Tracker Station 18': 1+np.random.rand(n), 'Time': Time})
df = df.set_index('Time')

df.plot()
plt.ylabel('Pressure (Torr)')
plt.yscale('log')

Plot with date on x axis

关于python - 如何使用 matplotlib 在绘图的 x 轴上同时显示日期和时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55426068/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com