使用plotnine更改刻度标签

Lor*_*ein 3 python pandas plotnine

我使用plotnine生成散点图,其中x 轴是pandas.Timestamp 对象。

目前,x 刻度标签(例如“2017-07-01”)正在相互冲突。我希望能够对刻度标签进行任意转换。如何更改绘图上的 x 刻度标签?

看起来我可以做类似的事情+ scale_x_continuous(labels=???),但我不知道要传递给标签什么参数。

Lor*_*ein 5

我在plotnine项目上提出了这个问题,并得到了解决方案:

from mizani.breaks import date_breaks
from mizani.formatters import date_format

...
+ scale_x_datetime(breaks=date_breaks('1 year'), labels=date_format('%Y'))
Run Code Online (Sandbox Code Playgroud)

这也可以做到:

+ scale_x_datetime(labels=lambda lst: [x.year if x.month==1 and x.day==1 else "" for x in lst])
Run Code Online (Sandbox Code Playgroud)