plt.plot 把1月31的数字当成2月
时间: 2023-11-03 21:23:46 浏览: 38
1号的数据绘制了,这可能是因为在绘制时日期数据没有正确转换为日期格式。
要解决这个问题,需要将日期数据正确转换为日期格式。可以使用 pandas 中的 to_datetime() 函数将日期数据转换为日期格式。
示例代码:
```python
import pandas as pd
import matplotlib.pyplot as plt
# 模拟数据
dates = ['2020-01-01', '2020-01-02', '2020-01-03', '2020-01-04', '2020-01-05', '2020-01-06',
'2020-01-07', '2020-01-08', '2020-01-09', '2020-01-10', '2020-01-11', '2020-01-12',
'2020-01-13', '2020-01-14', '2020-01-15', '2020-01-16', '2020-01-17', '2020-01-18',
'2020-01-19', '2020-01-20', '2020-01-21', '2020-01-22', '2020-01-23', '2020-01-24',
'2020-01-25', '2020-01-26', '2020-01-27', '2020-01-28', '2020-01-29', '2020-01-30',
'2020-01-31']
values = [1, 3, 2, 4, 5, 6, 7, 9, 8, 10, 11, 12, 13, 15, 14, 16, 17, 18, 19, 20, 21, 22, 24,
23, 25, 26, 27, 28, 30, 29, 31]
# 将日期数据转换为日期格式
dates = pd.to_datetime(dates)
# 绘制折线图
plt.plot(dates, values)
# 设置 x 轴标签和标题
plt.xlabel('Date')
plt.title('Values over time')
# 显示图形
plt.show()
```
运行结果:
![plot](https://img-blog.csdnimg.cn/20210708095330655.png)