我谷歌后还没有回答这个问题。
我有这样的data.txt:
a b c
sys1 3 2 0
sys2 4 4 4
sys3 5 2 4
sys4 6 4 1
我使用带模式的行堆叠样式创建了图形,目前我手动选择模式。我必须用 sys1-sys4 和 a-c 绘制我的 data.txt。该矩阵始终具有相同的大小,但我应该进行排序并以不同的顺序重新生成。
这是我的 gnuplot 脚本:
set term pos eps font 20
set style data histogram
set style histogram rowstacked
set key invert reverse right outside # above outside or left outside
set boxwidth 0.75
set ylabel "Count"
set xlabel "System"
set xtics nomirror rotate by -270
set output 'eps/a1-count.eps'
plot 'a1-count' \
using($2):xtic(1) title "data 1" lt -1 fs pattern 3, \
'' using($3) title "data 2" lt -1 fs pattern 4, \
'' using($3) title "data 3" lt -1 fs pattern 6
这是输出:
我还找到了一些解决方案here但它是针对热图的。有人可以帮助我吗?
非常感谢!
您可以使用 linux 'sort' 命令直接对 gnuplot 中的数据进行排序:(-nk[column]):
plot '<sort -nk1 data.txt' \
u 2:xtic(1) title "data 1" lt -1 fs pattern 3, \
'' u 3 title "data 2" lt -1 fs pattern 4, \
'' u 3 title "data 3" lt -1 fs pattern 6
“”空字符串文件调用,将保留排序后的数据文件。
你的问题的标题不正确,但是多亏了你,我学会了 :xtic(column) 功能和正确的做法: 设置 xtics nomirror 旋转 -270
问候,