gnuplotでカスタム関数で時間ベースのチックラベルをフォーマットする可能性はありますか?私は平日の英語の短い名前を印刷します。この例では%a
カスタム日付/時刻文字列でGnuplotでticラベルをフォーマットするには?
set format x '%Y-%m-%d, %a'
のような通常の書式コードを使用することができることを知っています。だから私はドイツ語に名前を変換できるマッピング関数を書いた:
dow(d) = \
(d == 0) ? 'So' : \
(d == 1) ? 'Mo' : \
(d == 2) ? 'Di' : \
(d == 3) ? 'Mi' : \
(d == 4) ? 'Do' : \
(d == 5) ? 'Fr' : \
'Sa'
私はこの関数をどのように呼び出すことができますか?正しいフォーマット文字列は%w
だろうが、この:それは実際に私の関数に文字列「%wを」合格しようとするため、
set format x '%Y-%m-%d, ' . dow('%w')
は、動作しません。 tm_wday(t)
(引数t
はUnixのタイムスタンプになります)、曜日の0から始まる番号(私のマッピング関数が必要とする)を返すことも知っています。しかし、set format x
に、現在のtic値(実際には内部では、set xdata time
を設定するとUnixのタイムスタンプ)をこの関数の引数として使用するように指示しますか?
最新のgnuplotトランクバージョンを使用していますが、これは関連性があります(まだドキュメント化されていなくても、現在存在する機能を使用できます)。
'set locale" de_DE.utf8 "を試してください。形式x '%Y-%m-%d、%w' 'を設定すると、関数の呼び出しはサポートされません。 – Christoph
@Christoph私はWindows上にあるので、POSIXのロケールは利用できません。しかし、 'show locales'は' LC_TIME German_Germany.1252'を与えますが、これはドイツの日付名を与えるようには見えません。 –
@Christoph Okしかし 'set locale 'German_Germany.1252''を明示的に設定するのは、デフォルトで既に設定されているように見えますが、これを答えとして書くと、私はそれを受け入れます。 :) –