запутанная шкала xtics появляется, когда жирный шрифт xtics в gnuplot - PullRequest
0 голосов
/ 21 июня 2020

Я столкнулся с проблемой при добавлении кода set xtics format "{/:Bold %.0s}" в xtics, выделенный жирным шрифтом. Код и результаты перечислены ниже. Если я прокомментирую код set xtics format "{/:Bold %.0s}", он выглядит нормально, но без выделения xtics жирным шрифтом, как я ожидал. Как я могу это исправить? Буду признателен за любые предложения!

set lmargin 0
set rmargin 0
set tmargin 0
set bmargin 0
set xdata time
set timefmt "%Y%m%d%H"
set format x "%m/%d"
set xrange ["20200106":"20200228"]
set xtics nomirror format '{/:Bold %.0s}'
set xtics("20200106","20200115","20200124","20200202","20200211","20200220", "20200228") font "Times, 11"
set ytics nomirror font "Times,11"
set ytics format "{/:Bold %.0s}"
set ytics 0,80,400
set datafile missing "-999"
unset key
set origin 0, 0.80
unset ylabel

карта

1 Ответ

1 голос
/ 21 июня 2020

Вы установили xti c формат «% s», который интерпретируется как время в секундах. Это явно не то, что вам нужно. Если идея состоит в том, что xtics имеют тот же формат, что и вы установили для timefmt, тогда вы можете использовать

set xtics nomirror format '{/:Bold %Y%m%d%H}'

или лучше

set xtics nomirror format'%Y%m%d%H'
set xtics font ':Bold'

, или если идея заключается в использовании специально метки, которые вы вводите в команду set xtics (T1,T2,T3), тогда трюк состоит в том, чтобы понять, что если вы даете только одно значение в Tx, оно используется как местоположение, а не строка метки. Метка для этой позиции создается с использованием формата ti c. Если вы дадите два значения для Tx, то первое будет фиксированным текстом метки, а второе - позицией. Если я правильно понимаю ваше намерение, вы хотите, чтобы строка метки была такой же, как и позиция; это означает, что ваш список меток будет выглядеть следующим образом:

set xtics("20200106" "20200106","20200115" "20200115","20200124" "20200124","20200202" "20200202","20200211" "20200211","20200220" "20200220", "20200228" "20200228)

Если вы это сделаете, не имеет значения, какой формат xti c, потому что он будет просто использовать предоставленную строку.

...