matplotlib将坐标轴从时间戳转化为时间
时间: 2023-06-12 13:02:05 浏览: 299
可以使用matplotlib的date2num和num2date函数将时间戳转换为日期格式,并在绘图时使用DateFormatter将坐标轴标签格式化为适当的日期和时间格式。下面是一个简单的示例代码:
```python
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
from datetime import datetime
# 创建示例数据
timestamps = [1567267200, 1567270800, 1567274400, 1567278000]
values = [10, 20, 30, 40]
# 转换时间戳为日期格式
dates = [mdates.num2date(timestamp) for timestamp in timestamps]
# 绘图
fig, ax = plt.subplots()
ax.plot(dates, values)
# 格式化坐标轴标签为日期格式
date_format = mdates.DateFormatter('%Y-%m-%d %H:%M:%S')
ax.xaxis.set_major_formatter(date_format)
# 旋转坐标轴标签
plt.xticks(rotation=30)
# 显示图形
plt.show()
```
这将绘制一个简单的折线图,其中x轴标签将显示为日期格式,而不是时间戳。
相关问题
matplotlib将横坐标标签从时间戳转化为时间
可以使用matplotlib中的datetime模块来实现将横坐标标签从时间戳转化为时间的功能。具体实现方法如下:
1. 导入相关的库和模块:
```python
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
import datetime
```
2. 准备数据并绘图:
```python
x = ['2021-08-01', '2021-08-02', '2021-08-03', '2021-08-04', '2021-08-05', '2021-08-06', '2021-08-07']
y = [10, 20, 30, 25, 35, 40, 45]
fig, ax = plt.subplots(figsize=(10, 6))
ax.plot(x, y)
plt.show()
```
3. 将横坐标标签从时间戳转化为时间:
```python
x_dates = [datetime.datetime.strptime(d, '%Y-%m-%d').date() for d in x]
plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m-%d'))
plt.plot(x_dates, y)
plt.gcf().autofmt_xdate()
plt.show()
```
这样就能够将横坐标标签从时间戳转化为时间了。
python画图将横坐标时间戳转化为时间
你可以使用matplotlib库中的date2num函数,将时间戳转换为浮点数格式,然后再使用xticks函数将其设为横坐标。
以下是使用示例代码:
```python
import matplotlib.pyplot as plt
import datetime as dt
# 假设time_list为时间戳列表
time_list = [1568025600, 1568029200, 1568032800, 1568036400]
# 将时间戳转换为datetime格式
date_list = [dt.datetime.fromtimestamp(ts) for ts in time_list]
# 将datetime格式转换为浮点数格式
float_list = [plt.date2num(dt) for dt in date_list]
# 绘制图形
fig, ax = plt.subplots()
ax.plot(float_list, [1, 2, 3, 4])
# 设置x轴标签
ax.set_xticklabels(date_list)
# 显示图形
plt.show()
```
注意,date2num函数返回的是浮点数格式的日期,需要使用set_xticklabels函数手动设置x轴标签。
阅读全文