python怎样将日期转为x轴_如何使用python在matplotlib中更改x轴值的日期时间格式?...

本文探讨了如何改进Pythonmatplotlib图表的x轴日期显示,目标是仅显示三个日期值,并调整日期格式为MMM DD或DD MMM,甚至采用两行显示。通过设置matplotlib的日期格式器和选择关键点的日期标签,可以实现这一效果。
摘要由CSDN通过智能技术生成

How can I make this plot's x-axis looks better?

Is there any way to show only 3 values in x-axis while plotting all values in my dataframe?

I tried using plt.xticks(rotation=70) but it still cuts my numbers..

As you can see, it shows the date in the format MMM DD YYYY.

I wanna something like MMM DD or DD MMM. Or even writing in 2

lines DD MM \n YYYY.

How can I achieve that?

This is the code used for generating the chart:

plt.plot(df_21d["Timestamp"], df_21d["Close"], label="Price", color="b")

plt.title("BTC - 21 Dias")

plt.xlabel("Data")

plt.ylabel("Preco (em USD)")

plt.grid(True)

plt.show()

Here's my data:

df_21d["Timestamp"]

667 2016-05-27 08:00:00

668 2016-05-27 08:30:00

669 2016-05-27 09:00:00

670 2016-05-27 09:30:00

671 2016-05-27 10:00:00

Name: Timestamp, dtype: datetime64[ns]

df_21d["Close"]

667 480.00

668 471.36

669 477.35

670 476.55

671 479.92

Name: Close, dtype: float64

I dont know if I have to format df_21d.Timestamp or if it's a matplotlib configuration. Maybe formatting the timestamp and passing it as a vector using plt.xticks()... but I'm not sure about how do that...

Or maybe even inserting only the first, the last and the middle value for the x-axis, with something like:

plt.xaxis_labels = (df_21d["Timestamp"][1],

df_21d["Timestamp"][len(df_21d["Timestamp"])/2],

df_21d["Timestamp"][len(df_21d["Timestamp"])])

解决方案

Essentially, you can set the format of dates by setting the format:

plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%d %m'))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值