您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

python chaco轴标签时间格式

5b51 2022/1/14 8:21:28 python 字数 2934 阅读 467 来源 www.jb51.cc/python

在Enthought的Chaco中,TimeFormatter类用于格式化tick的时间字符串标签.有没有办法指定时间格式(如time.strftime()).源代码现在硬编码显示美国风格(MMDD)的月份和日期时的格式.我想添加一些灵活性,以便时间/日期格式提示以某种方式传递给TimeFormatter我不知道有什么好办法(除了更改源代码本身(TimeFo

概述

在Enthought的Chaco中,TimeFormatter类用于格式化tick的时间字符串
标签.有没有办法指定时间格式(如time.strftime()).

代码现在硬编码显示美国风格(MMDD)的月份和日期时的格式.我想添加一些灵活性,以便时间/日期格式提示以某种方式传递给TimeFormatter

我不知道有什么好办法(除了更改源代码本身(TimeFormatter._formats字典))

from enthought.chaco.scales.formatters import TimeFormatter
TimeFormatter._formats['days'] = ('%d/%m','%d%a',)

如果您不想这样做,那么您需要继承TimeFormatter.这很简单.更麻烦的是,使chaco.scales包创建的所有现有比例系统都使用新的子类而不是内置的TimeFormatter.如果查看scales.time_scale.TimeScale,它会在构造函数中接受’formatter’关键字参数.因此,在time_scale.py的底部,当构建MDYScales列表时,您必须创建自己的:

EuroMDYScales = [TimeScale(day_of_month=range(1,31,3),formatter=MyFormatter()),TimeScale(day_of_month=(1,8,15,22),15),TimeScale(month_of_year=range(1,13),13,TimeScale(month_of_year=(1,7),),formatter=MyFormatter())]

然后,在创建ScalesTickGenerator时,需要将这些比例传递给ScaleSystem

euro_scale_system = CalendarScaleSystem(*(HMSScales + EuroMDYScales))
tick_gen = ScalesTickGenerator(scale=euro_scale_system)

然后你可以创建轴,给它这个tick生成器:

axis = PlotAxis(tick_generator = tick_gen)

HTH,对不起,这是一个月的滞后.我并没有真正检查StackOverflow.如果您有其他chaco问题,我建议您注册chaco-users邮件列表…

总结

以上是编程之家为你收集整理的python chaco轴标签时间格式全部内容,希望文章能够帮你解决python chaco轴标签时间格式所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶