【问题标题】:How do I indicate labels with different point types in Gnuplot?如何在 Gnuplot 中指示具有不同点类型的标签?
【发布时间】:2011-02-12 22:11:16
【问题描述】:

假设我有数据要绘制在文件“animals.txt”中:

cat 5.2 1.0
cat 5.4 1.3
cat 5.2 1.2
dog 3.8 1.1
dog 3.5 1.5
dog 3.6 1.3
giraffe 1.3 9.7
giraffe 1.5 9.0
giraffe 1.4 9.9

我可以使用以下标签生成散点图:

plot "animals.txt" u 2:3:1 w labels

我还可以使用以下方式改变每个点的样式:

plot "animals.txt" u 2:3 w points pointtype 3

不使用标签(可能重叠),是否可以让点为每个类别使用不同的点类型或颜色? (例如,“猫”使用点类型 3 将显示为红色,“狗”使用点类型 4 显示为蓝色,等等)

我可以使用“lc 变量”并将标签列替换为颜色,但我正在使用的文件有太多不同的标签,我无法轻松做到这一点。

【问题讨论】:

    标签: gnuplot


    【解决方案1】:

    我认为没有办法直接做到这一点。

    但是,一个简单的解决方法是使用 gnuplot 的接口来 awk。然后,您可以绘制 3 个单独的图表,每只动物一个。

    plot "<awk '{ if($1 == \"cat\") print $2,$3  }' animals.dat" u 1:2 w points title "cat", \
         "<awk '{ if($1 == \"dog\") print $2,$3  }' animals.dat" u 1:2 w points title "dog", \
         "<awk '{ if($1 == \"giraffe\") print $2,$3  }' animals.dat" u 1:2 w points title "giraffe"
    

    由于每行之间的唯一区别是动物的名称,因此您可能可以用更好的方式编写此脚本,但您明白了,

    汤姆

    【讨论】:

    • 这简直是天作之合。
    猜你喜欢
    • 1970-01-01
    • 2014-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-04
    • 1970-01-01
    • 2015-07-21
    • 2023-03-23
    相关资源
    最近更新 更多