正直なところ、最も簡単な方法は、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), formatter=MyFormatter()),
TimeScale(day_of_month=(1,15), formatter=MyFormatter()),
TimeScale(month_of_year=range(1,13), formatter=MyFormatter()),
TimeScale(month_of_year=range(1,13,3), formatter=MyFormatter()),
TimeScale(month_of_year=(1,7), formatter=MyFormatter()),
TimeScale(month_of_year=(1,), formatter=MyFormatter())]
次に、ScalesTickGeneratorを作成するときに、これらのスケールをScaleSystemに渡す必要があります。
euro_scale_system = CalendarScaleSystem(*(HMSScales + EuroMDYScales))
tick_gen = ScalesTickGenerator(scale=euro_scale_system)
次に、軸を作成して、このティックジェネレータを指定します。
axis = PlotAxis(tick_generator = tick_gen)
HTH、申し訳ありませんが、これは約1か月の遅れです。StackOverflowはあまりチェックしていません。他にchacoに関する質問がある場合は、chaco-usersメーリングリストにサインアップすることをお勧めします...