1

我对 gnuplot 还是很陌生,但最近玩了很多。我有一个包含角度(度数)、时间延迟和深度的数据集,我发现它与在极坐标中显示相关,脉冲的颜色取决于深度。当我使用正常的 x,y 坐标时它工作正常,但是当使用极坐标时,颜色会出错......

假设我的数据是 test.txt:

15 0.2 60
30 0.1 50
35 0.4 10
60 0.2 70
90 0.3 12
120 0.2 5

如果我做:

set palette defined ( 0 "red", 1 "yellow", 2 "cyan", 3 "blue", 4 "magenta")
set cbrange [0:80]
set xrange [0:180]
plot "test.txt" u 1:2:3 with impulses lw 2 lc palette

都很好!

但是,如果我使用相同的调色板,我会这样做:

set polar
set angles degrees
set xrange[0:0.5]
set yrange[-0.5:0.5]
plot "test.txt" u 1:2:3 with impulses lw 2 lc palette

我得到了一个很好的极坐标图,但我的冲动没有正确的颜色......这有什么问题?我看过解释如何为使用“lc variable”或“lc var z”的脉冲着色的帖子,但它不适用于我的极坐标数据......提前感谢您的帮助。

4

1 回答 1

0

这似乎是旧 gnuplot 版本中的错误。我使用以下脚本将两个输出放在一起进行比较:

set palette defined ( 0 "red", 1 "yellow", 2 "cyan", 3 "blue", 4 "magenta")
set cbrange [0:80]

set multiplot layout 1,2

set yrange [0:0.5]
set xrange [0:180]
plot "test.txt" u 1:2:3 with impulses lw 2 lc palette

set polar
set angles degrees
set xrange [-0.5:0.5]
set yrange [0:0.5]
replot

unset multiplot

版本 4.4.4 的错误输出是:

在此处输入图像描述

从 4.6.0 版开始,颜色是正确的:

在此处输入图像描述

于 2014-04-07T07:47:35.987 回答