【发布时间】:2017-07-06 21:42:07
【问题描述】:
我正在使用plotnine 生成散点图,其中 x 轴是 pandas.Timestamp 对象。
目前,x 刻度标签(例如“2017-07-01”)正在相互碰撞。我希望能够对刻度标签进行任意转换。如何更改绘图上的 x 刻度标签?
看起来我可以执行+ scale_x_continuous(labels=???) 之类的操作,但我不知道将什么参数传递给标签。
【问题讨论】:
我正在使用plotnine 生成散点图,其中 x 轴是 pandas.Timestamp 对象。
目前,x 刻度标签(例如“2017-07-01”)正在相互碰撞。我希望能够对刻度标签进行任意转换。如何更改绘图上的 x 刻度标签?
看起来我可以执行+ scale_x_continuous(labels=???) 之类的操作,但我不知道将什么参数传递给标签。
【问题讨论】:
我在 plotnine 项目中以issue 的身份提出了这个问题,并得到了解决方案:
from mizani.breaks import date_breaks
from mizani.formatters import date_format
...
+ scale_x_datetime(breaks=date_breaks('1 year'), labels=date_format('%Y'))
这也可以:
+ scale_x_datetime(labels=lambda lst: [x.year if x.month==1 and x.day==1 else "" for x in lst])
【讨论】: