将上面那段代码的x轴改成连续三天的数据
时间: 2024-03-12 16:47:19 浏览: 53
要将 x 轴改成连续三天的数据,可以按照以下步骤进行修改:
1. 将 datetime_first_str 的值改为 "2022-01-01 00:00",即第一天的日期和时间。
2. 修改 list_datetime_X 的生成方式,将时间序列生成三次,并将三个时间序列合并成一个列表,即:
```python
datetime_first_str = "2022-01-01 00:00"
list_datetime_X = []
for d in range(3):
for i in range(0, 1440):
datetime_element = str(tm.datetime.strptime(datetime_first_str, '%Y-%m-%d %H:%M') + tm.timedelta(days=d, minutes=i))
X = datetime_element.split(" ")[1]
list_datetime_X.append(X)
```
这样就能够生成连续三天的时间序列了。
3. 在绘图时,将 plot_X 的值改为 list_datetime_X 即可:
```python
plot_X = list_datetime_X
plot = plt.plot(plot_X, plot_Y, linewidth=0.5, label="dys", color="black")
```
完整代码如下:
```python
import datetime as tm
import matplotlib.pyplot as plt
from matplotlib.ticker import MultipleLocator
# 获取数据
data_dys = [...] # 原始数据
date_choese = "2022-01-01" # 数据日期
# 生成三天的时间序列
datetime_first_str = "2022-01-01 00:00"
list_datetime_X = []
for d in range(3):
for i in range(0, 1440):
datetime_element = str(tm.datetime.strptime(datetime_first_str, '%Y-%m-%d %H:%M') + tm.timedelta(days=d, minutes=i))
X = datetime_element.split(" ")[1]
list_datetime_X.append(X)
# 绘制原始数据
plt.figure(figsize=(20, 20))
plt.subplot(411)
plt.title("dys原始数据{}".format(date_choese))
plot_Y = data_dys
plot_X = list_datetime_X
plot = plt.plot(plot_X, plot_Y, linewidth=0.5, label="dys", color="black")
# 设置 x 轴主刻度为每小时一个刻度
x_major_locator = MultipleLocator(60)
ax = plt.gca()
ax.xaxis.set_major_locator(x_major_locator)
# 设置 x 轴刻度的旋转角度
plt.xticks(rotation=20)
# 显示图例
plt.legend()
plt.show()
```
阅读全文