graph - 带有来自不同列数据的标签和分数的 gnuplot 热图

标签 graph gnuplot heatmap

我使用 gnuplot 创建了热图。 我有数据.dat:

       avail    reli    perf    
stop    181 20  121 10  34 20
jitter  18 20   17 20   13 20
limp    12 20   5 30    20 20

和 gnuplot 脚本:

set term pos eps font 20
unset key
set nocbtics
set cblabel "Score" 
set cbtics scale 0
set cbrange [ 0.00000 : 110.00000 ] noreverse nowriteback
set palette defined ( 0.0 "#FFFFFF",\
                      1 "#FFCCCC",\
                      20.2 "#FF9999 ",\
                      30.3 "#FF6666",\
                      40.4 "#FF3333",\
                      50.5 "#FF0000",\
                      60.6 "#CC0000",\
                      70.7 "#C00000",\
                      80.8 "#B00000",\
                      90.9 "#990000",\
                      100.0 "#A00000")

set title "Faults"

set ylabel "Hardware Faults"
set xlabel "Aspects"
set size 1, 0.5
set output 'c11.eps'
YTICS="`awk 'BEGIN{getline}{printf "%s ",$1}' 'data2.dat'`"
XTICS="`head -1 'data2.dat'`"
set for [i=1:words(XTICS)] xtics ( word(XTICS,i) i-1 )
set for [i=1:words(YTICS)] ytics ( word(YTICS,i) i-1 )

plot "<awk '{$1=\"\"}1' 'data2.dat' | sed '1 d'" matrix w image, '' matrix using 1:2:($3==0 ? " " : sprintf("%.1d",$3)) with labels
#######^ replace the first field with nothing
################################## ^ delete first line

我的输出是:

enter image description here

这里我的范围是1-20,30-39,...,100或更多) 现在我在每个轴上都有 2 个值。例如,停止并利用有(181 和 20)。 181 是计数,20 是百分比。我想创建颜色基于百分比的图表,并且图表上的标签来自数据计数。

我有过使用 for 创建一些图表并进行一些取模来选择数据的经验。但在这里,我不知道创建该图表。对于创建这个有什么建议吗?谢谢!

最佳答案

您可以使用every 来跳过列。

plot ... every 2 仅使用每隔一列,这就是您可以用于标签的内容。对于颜色,您必须从第二列开始(以 1 编号),并且需要每 2::1

以下是仅对您的脚本进行的相关更改:

set for [i=1:words(XTICS)] xtics ( word(XTICS,i) 2*i-1 )
plot "<awk '{$1=\"\"}1' 'data2.dat' | sed '1 d'" matrix every 2::1 w image, \
     '' matrix using ($1+1):2:(sprintf('%d', $3)) every 2 with labels

4.6.5 的结果是:

enter image description here

关于graph - 带有来自不同列数据的标签和分数的 gnuplot 热图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24240236/

相关文章:

java - 多个集合上的迭代器

java - 代码从 jar 里跳出来运行?是什么原因造成的?

javascript - D3 中的过滤选项

gnuplot - 更改标记图中点的颜色

highcharts - 如何使用填充自定义热图单元格?

python - 在热图中每第 7 列之后插入一行

git - 为什么 GitLab Graph 只显示提交而不显示添加/删除?

variables - 在 gnuplot 中使用多个变量绘图

r - 如何更改 R heatmap.2 中 rowsidecolors 的位置

c++ - 将 GNUPLOT 与 Visual Studio 结合使用