Нет mxtics в лог-масштабе с gnuplot - PullRequest
0 голосов
/ 08 ноября 2019

У меня проблемы с тем, чтобы Gnuplot показывал промежуточные тики (mxtics) в логарифмическом масштабе. Я искал похожие темы, но ни один из ответов не работает для меня. Пожалуйста, найдите прилагаемый минимальный рабочий пример,

set size 1,1
set origin 0,0

unset xtics
set yrange [-1:1]
set xrange [1e-6:2]


set mxtics 10
set logscale x
set format x ""
set xtics 1, 1e-2
set xtics 1e-4, 1e-6
set xtics add ("10^{-4}" 1e-4,"10^{-2}" 1e-2,  "1" 1) offset 0,0
set xtics nomirror

set format y ""
unset ytics

p 0.0

, который обеспечивает следующий вывод без mxtics: enter image description here

Я хотел бы иметь 10 mxtics задесять, т. е. один в 10 ^ {- 2}, один в 2 10 ^ {- 2}, ..., один в 9 10 ^ {- 2}. Ты знаешь как это сделать? Я попытался изменить порядок командных строк, но это не сработало.

К вашему сведению, вот версия Gnuplot, которую я использую:

$ gnuplot 

    G N U P L O T
    Version 5.2 patchlevel 2    last modified 2017-11-15 

РЕДАКТИРОВАТЬ: Ниже приведен примерный способ заставить эту работу:

set xrange [1e-6:1]
set yrange [-1:1]

set logscale x
set format x "10^{%T}"
set xtics add ("" 1e-3, "" 1e-5, "" 1e-1)
set mxtics 10
set xtics nomirror

set format y ""
unset ytics
unset ylabel

p 0 w l lw 2 linecolor rgb "black" noti

и этопроизводит вывод enter image description here Однако, это не работает, если я set term epslatex, который является терминалом, который я в конечном счете хочу использовать.

Фактически, если я запускаю тот же скрипт с терминалом epslatex, xtics в 10 ^ {- 3}, ... не удаляется.

Ответы [ 2 ]

0 голосов
/ 11 ноября 2019

Что касается меня, вывод epslatex, полученный из вашего редактирования, выглядит для меня нормально, он содержит только основные xtics, помеченные как 10 ^ -6, 10 ^ -4, 10 ^ -2 и 10 ^ -0. Поэтому этот код работает отлично (я только изменил формат xtics на math, чтобы латекс не жаловался):

set term epslatex standalone
set out "logtics.tex"
set xrange [1e-6:1]
set yrange [-1:1]

set logscale x
set format x "$10^{%T}$"
set xtics add ("" 1e-3, "" 1e-5, "" 1e-1)
set mxtics 10
set xtics nomirror

set format y ""
unset ytics
unset ylabel

p x w l lw 2 linecolor rgb "black" noti
unset out
unset term

Screenshot from resulting pdf

Яиспользуя gnuplot 5.3, возможно, между ними была какая-то ошибка…

Если это не помогает, вы рассматривали возможность перехода на терминал cairolatex? У него та же цель, но он преодолевает трудности преобразования eps в pdf перед включением в pdflatex.

0 голосов
/ 08 ноября 2019

Кажется, вы пытаетесь слишком сложно. Разве следующие не будут делать то, что вы хотите, или вы хотите что-то особенное и отличающееся?

Код:

### log tics and mtics
reset session

set xrange[1e-6:2]
set logscale x
set format x "10^{%T}"
set mxtics 10
set grid xtics,mxtics lt -1, lt 0
set xtics add ("" 1e-6, "" 1e-5, "" 1e-3, "" 1e-1, "1" 1)
plot x
### end of code

Результат:

enter image description here

...