GNUPLOT:带绘图和调色板的对数颜色框

标签 gnuplot

我正在努力解决以下问题。我有一个包含三列的文件,x-coord , y-coordcount ;把它想象成一个稀疏直方图,只有当 count > 0 时才输出一个点。 .

我正在尝试使用 GNUPLOT 对其进行可视化通过

set palette defined (0 'white', 0.25 'blue', 0.5 'green', 0.75 'yellow', 1 'red')
plot 'file' w p pt 7 palette t ''

这工作得很好。现在,我想要一个对数颜色框,以便将颜色映射到 log(count) .我可以骗过它u 1:2:(log($3)) ,但颜色框上的刻度会关闭。

使用 set log cb实际上给了我一个错误:GNUPLOT提示数据是否定的,事实并非如此,我已经手动检查了违规文件。这是我从文件的缩减版本中得到的错误,
gnuplot> set logscale cb
gnuplot> plot 'data.dat' w p pt 7 palette
Warning: empty x range [-0.226728:-0.226728], adjusting to [-0.228995:-0.22446]
         color axis has cb coord of -3.20125; must be above 0 for log scale!

数据文件其实很小:
-2.2672752051521861e-01 -9.0322580645161288e-01  1.2583021897450098e-03
-2.2672752051521861e-01 -8.3870967741935487e-01  1.2583021897450098e-02
-2.2672752051521861e-01 -7.7419354838709675e-01  6.2915109487250492e-03
-2.2672752051521861e-01 -7.0967741935483875e-01  1.0066417517960079e-02
-2.2672752051521861e-01 -6.4516129032258063e-01  1.0066417517960079e-02
-2.2672752051521861e-01 -5.8064516129032262e-01  3.7749065692350295e-03
-2.2672752051521861e-01 -5.1612903225806450e-01  6.2915109487250492e-03
-2.2672752051521861e-01 -4.5161290322580649e-01  2.5166043794900197e-03
-2.2672752051521861e-01 -3.8709677419354838e-01  4.4040576641075340e-03
-2.2672752051521861e-01 -3.2258064516129037e-01  2.5166043794900197e-03
-2.2672752051521861e-01 -2.5806451612903225e-01  1.2583021897450098e-03
-2.2672752051521861e-01 -1.9354838709677424e-01  3.1457554743625246e-03
-2.2672752051521861e-01 -1.2903225806451613e-01  6.2915109487250492e-04
-2.2672752051521861e-01 -6.4516129032258118e-02  1.2583021897450098e-03
-2.2672752051521861e-01  0.0000000000000000e+00  4.4040576641075340e-03
-2.2672752051521861e-01  6.4516129032258007e-02  1.2583021897450098e-03
-2.2672752051521861e-01  1.2903225806451601e-01  1.8874532846175148e-03
-2.2672752051521861e-01  1.9354838709677424e-01  3.1457554743625246e-03
-2.2672752051521861e-01  3.2258064516129026e-01  1.2583021897450098e-03
-2.2672752051521861e-01  3.8709677419354827e-01  2.5166043794900197e-03
-2.2672752051521861e-01  4.5161290322580649e-01  3.7749065692350295e-03
-2.2672752051521861e-01  5.1612903225806450e-01  5.6623598538525447e-03
-2.2672752051521861e-01  5.8064516129032251e-01  6.2915109487250492e-03
-2.2672752051521861e-01  6.4516129032258052e-01  6.9206620435975537e-03

怎么了?

最佳答案

这似乎是一个关于对数颜色轴自动缩放的错误。设置显式 cbrange与 4.6.4 一起工作正常。在这种情况下,您也可以使用 stats命令提取最小值和最大值。

以下脚本有效:

set palette defined (0 'white', 0.25 'blue', 0.5 'green', 0.75 'yellow', 1 'red')
stats 'file' using 3
set logscale cb
set cbrange[STATS_min:STATS_max]
plot 'file' w p pt 7 palette t ''

4.6.4 的结果是:

enter image description here

关于GNUPLOT:带绘图和调色板的对数颜色框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20569110/

相关文章:

gnuplot - 箭头点位于 gnuplot 上的文件上

c++ - 如何在 C++ 中实时绘制 Gnuplot 中的图形?

c - 从 C 使用 gnuplot

time - gnuplot:绘制一个月前到现在的数据

gnuplot - 将科学数字读取到 gnuplot

c++ - gnuplot-iostream : no plot when x values are dates

linux - 如何在ggplot中绘制两个尺度的一些数据

gnuplot - 使用 gnuplot 在轴上显示 2 的幂

latex - gnuplot 中的 epslatex 没有给出正确的输出

gnuplot - 使用不同颜色在 gnuplot 中绘制文件数据