plt绘图时横坐标时间列有很多,怎样按日显示呢
时间: 2023-09-30 16:03:26 浏览: 153
python_matplotlib改变横坐标和纵坐标上的刻度(ticks)方式
你可以使用`matplotlib`中的`dates`模块来处理日期数据,具体方法如下:
1. 将时间列转换为`datetime`格式:
```python
import pandas as pd
df['date'] = pd.to_datetime(df['date'])
```
2. 设置`x`轴为时间类型:
```python
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
fig, ax = plt.subplots()
ax.xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m-%d'))
ax.xaxis.set_major_locator(mdates.DayLocator())
```
`set_major_locator`和`set_major_formatter`函数分别用于设置`x`轴的刻度和标签格式,上述代码中设置了每天显示一个刻度和以`'%Y-%m-%d'`的格式显示标签。
3. 绘制图形:
```python
ax.plot(df['date'], df['value'])
plt.show()
```
这样就可以按日显示时间列的数据了。
阅读全文