Gnuplot: логарифмические оси и dgrid3d не работают вместе - PullRequest
0 голосов
/ 07 ноября 2018

У меня есть разреженная сетка данных, которую я хотел бы построить с логарифмическим масштабом по осям X и Y, с цветами и контурами, определяющими ось Z.

Использование logscale xy приводит к совершенно другому виду графика, когда я строю линейный график журнала каждой оси.

Using logscale xy

Linear plot of logged values

Я хочу красивые логарифмические оси и расположение контурной легенды первого графика с красивой центральной частью и цветовой шкалой второго графика.

Мой текущий сценарий

set dgrid3d 50,50 splines
set pm3d
set pm3d map

set cntrparam levels auto
set contour surface

#set logscale xy
#splot "test_data.dat" using 1:2:3 with l nosurf lw 3
splot "test_data.dat" using (log10($1)):(log10($2)):3 with lines nosurf lw 3

, где я изменяю комментарии, чтобы изменить, какие графики я делаю.

Что я делаю не так?

Все предложения будут с радостью приняты.

edit: В результате еще одного исследования я думаю, что данные выводятся в сетку с помощью dgrid3d в линейном пространстве, а затем отображаются в лог-пространстве с помощью logscale xy. Я хочу, чтобы данные располагались в сетке и в лог-пространстве.

Есть ли решение только для gnuplot?

1 Ответ

0 голосов
/ 09 ноября 2018

Двукратное решение. 1) разница в виду графиков была вызвана ошибкой в ​​5.2.2. Обновление до 5.2.3 исправлено. 2) Решил проблему с сеткой, построив журнал данных на линейных осях и затем поместив оси в логарифмический вид.

Сюжет необходимо улучшить, сделав меньшие тики меньше основных.

set pm3d
set pm3d map
set cntrparam levels auto
set contour surface

#set xrange [2:6] #setting this makes the image finish at the y2 tics, without changing the xtics
set xtics 2,1,6
unset xtics

# "major" tics
set xtics ("100" 2, "1000" 3, "10000" 4, "100000" 5, "1e6" 6)
# "minor" ticks
set for [i=2:6:1] xtics add ("" log10(2*10**i),"" log10(3*10**i),"" log10(4*10**i),"" log10(5*10**i), "" log10(6*10**i),"" log10(7*10**i),"" log10(8*10**i),"" log10(9*10**i)) 

set ytics -2,1,-1
unset ytics
set ytics ("0.01" -2, "0.1" -1)
set for [i=-3:0:1] ytics add ("" log10(2*10**i),"" log10(3*10**i),"" log10(4*10**i),"" log10(5*10**i), "" log10(6*10**i),"" log10(7*10**i),"" log10(8*10**i),"" log10(9*10**i)) 

splot "test_data.dat" using (log10($1)):(log10($2)):3
...