GNUPLOT直方图和LineColorLoop

问题描述 投票:0回答:1

引用GNUPLOT 6.0。如果数据文件不是在一行中构造的(典型的直方图),而是为3x3数组:

10.12172.7

20.11183.8

30.7555.4

使用循环:

gnuplot -p << EOF
set terminal png
set term pngcairo dashed
set title  "Title" font ",15"
set ylabel "y" font ",15"
set xlabel "x" font ",15"
set style fill solid 1.0
 
filename2(n) = sprintf("data%03.0f.dat", n)
outfile  (n) = sprintf("data%03.0f.png", n)

set boxwidth 1.0 
set style fill solid 1.0
set tics font ", 16"

do for [N=15:15] {
    set output outfile(N)
    infile = filename2(N)

    array scale[4]
    scale[1] = 'r/r_0:  80 - 100%' 
    scale[2] = '    50 - 80%'
    scale[3] = '    30 - 50%'
    scale[4] = '    10 - 30%'

plot for [i=1:3] filename2  (N) u(i): (column(3)):xtic(3) w boxes lc i  notitle,\
        for [i=1:3] keyentry w boxes lc i title scale[i]  at graph 0.22, graph (0.99-0.045*i)                
       }
EOF 

问题是我需要u(i)循环才能更改直方图颜色 “盒子lc i”,但它覆盖了直方图,剩下相同的值。或者我可以使用u(第(3)列):XTIC(3),但随后我松开颜色:

same value or same color

gnuplot histogram
1个回答
0
投票

,让我们尝试一下,也许我现在知道了。

    您的图只是一个简单的条形图,但是,一个组合图是一个特殊的条形图。
  • 在一个简单的条形图中,您通常将类别命名为XTIC标签(不重复Y值),因此无需额外的传说,除非您可能具有带有多个类别的堆叠条形图。 您可以将LineColor设置为变量,即lc var。检查
  • help colorspec
  • .
  • 如果您也需要图中的确切Y值,则可以将它们绘制为bars
    顶的标签
    
    我建议强迫Y范围从0开始,即
    set yrange [0:]
    ,否则可能会对酒吧的绝对/相对高度有错误的印象,除非您想带领某人相信其他东西。
  • 如果您绝对想要一个带有彩色条的传奇(在您的情况下是多余的),则必须弹奏一些技巧:
  • 与您没有可用的列数据
  • 您是正确的,您需要一个循环才能获得3个传奇条目,但是您必须将输出限制为单行,您可以使用
keyentry

(检查

every
  • SO,在最后一个绘图命令中,您实际上什么也没绘制,但是将字符串从第2列获取到传奇
  • 我希望其余的是不言自明的。检查以下内容的本质最小化脚本。
  • 标题:
    help every
  • 恢复:

实际上,带有多余的传说...


    

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.