【问题标题】:How to force color range in gnuplot如何在gnuplot中强制颜色范围
【发布时间】:2016-04-09 17:36:59
【问题描述】:

我正在使用 Gnuplot 4.6。我有数据文件,每个文件包含 3 列数据:X 坐标、Y 坐标和温度。我希望将温度图作为 X 和 Y 坐标的函数制作动画。为此,我使用以下脚本:

set pm3d map; set palette;
do for [n=0:200] {splot sprintf("Temperature.%04d.dbl", n) binary array=100:100:1 form="%double" title 'file number'.n}

我的问题是,经过几次情节后,情节和图例中的颜色分布都会发生变化。这使得从图表中读取非常困难。 我查阅了以下帖子:

gnuplot heat map color range

由于温度变量的范围是从 0.0 到 1.2,我想使用:

set zrange [0.0:1.2]; set cbrange [0.0:1.2];

但这无济于事,温度颜色会继续在绘图之间自动缩放。有什么建议吗?

【问题讨论】:

  • 这很奇怪。您能否提供一个完整的最小脚本来重现该问题?即 while gnuplot 脚本 + 数据样本。

标签: plot range gnuplot


【解决方案1】:

除了设置cbrange,您还可以尝试定义自己的调色板

set palette defined (0 "black",\
                     0.2 "red",\
                     0.4 "orange-red",\
                     0.6 "orange",\
                     0.8 "yellow",\
                     1.0 "light-green",\
                     1.2 "green")

或者如果你想要离散值:

set palette defined (0 "black",\
                     0.2 "black",\
                     0.2 "red",\
                     0.4 "red",\
                     0.4 "orange-red",\
                     0.6 "orange-red",\
                     0.6 "orange",\
                     0.8 "orange",\
                     0.8 "yellow",\
                     1.0 "yellow",\
                     1.0 "light-green",\
                     1.2 "light-green")

【讨论】:

  • 这将设置调色板,但无助于设置所有连续图中的颜色范围。我将尝试更好地解释这个问题:在一些图中,图例(以及图本身)中的温度范围从 0 到 1.2,然后它在其他一些图中跳到 0 到 1.1 的范围,然后改变了所有的颜色分布,使得从图表中读取变得非常困难。
  • 奇怪!你能提供你的脚本来创建情节吗?可以在每次拨打plot之前尝试拨打set cbrange吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-25
  • 1970-01-01
  • 2017-09-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多