【发布时间】:2020-08-01 14:35:41
【问题描述】:
我有一个带有 DateTime 索引的 DataFrame:
import pandas as pd
from random import randrange
dates = pd.date_range(start="2020-02-01",end='2020-04-18',freq='1d')
df = pd.DataFrame(index=dates,data=[randrange(10000) for i in range(78)]
现在,当我将数据绘制为线图时,matplotlib 会生成一个格式良好的 x 轴:
df.plot(figsize=(12,4))
但是,如果我改为绘制条形图,我现在会得到一些非常可怕的东西:
df.plot(kind='bar',figsize=(12,4)),
这很令人不安,因为它是同一个 DataFrame。 我想要的是条形图,但具有格式良好的 DateTime 轴。
有没有简单的方法来实现这一点? 我尝试直接使用 bar 命令,但这会产生另一种 x 轴格式,不如使用 pandas 方法绘制的格式好。
【问题讨论】:
-
@Rajat:谢谢。是的,我知道我可以手动选择 DateTime 格式。这样做有两个问题:首先,它需要大量的工作。其次,如何生成与线图相同的漂亮格式?
-
有没有办法将线图生成的轴重新用于条形图?我尝试这样做(通过从 xticks 复制位置和格式),但我没有成功。我认为原因是条形图的刻度结构与折线图不同。
标签: pandas matplotlib plot xticks