【问题标题】:Gnuplot rowstacked histogram plot with black and white hatch patterns具有黑白填充图案的 Gnuplot 行堆叠直方图
【发布时间】:2014-04-23 09:02:55
【问题描述】:

我必须创建如下图所示的图形,我尝试使用 gnuplot 和 zplot 来创建它,但模式与预期不符。有人知道一些库或任何东西来创建这种模式(如下图所示)。我对此表示赞赏。谢谢

【问题讨论】:

    标签: graph gnuplot


    【解决方案1】:

    您需要的是以下具有不同填充样式模式的直方图类型

    例如,如果您想要一个黑白堆叠直方图,那么您可以通过执行以下操作来创建它们:

    file1 = 'hist1.dat'
    
    set style data histogram
    set style histogram rowstack
    set style fill pattern
    
    set xtics border in scale 0,0 nomirror rotate by 90  offset character 0, -6, 0
    set boxwidth 0.9 absolute
    
    set key outside right top vertical Left
    set key samplen 2.5 spacing 0.85
    
    set ylabel "Cost BreakDown (%)" font ",18" offset character 2.5,0,0
    
     plot newhistogram , file1 u 2:xtic(1) t "Math" lc rgbcolor "black" lt 1 fs pattern 1, '' u 3 t "Innvocation" lc rgbcolor "black" lt 1  fs pattern 2
    

    file1的内容可能是这样的

    Read-GetAttr 19 12 
    Read-If-Mod 47 23 
    

    以上将呈现如下图形:

    您可以通过拥有相应的数据并更改填充样式模式fs,进一步在堆栈上添加更多层。此外,您还可以使用不同的rgbcolor 值将它们更改为彩色直方图

    在这里发布,以防将来对其他人有用:

    我还提取了我之前做过的一些工作,您可以从以下链接下载带有数据文件和 gnuplot 脚本的彩色堆叠直方图的完整工作示例:

    Coloured Stacked Histograms Working Example

    【讨论】:

    • @indi60 请注意,模式可能会因您的输出终端而有所不同。使用test 命令(参见例如stackoverflow.com/a/19420678/2604213)查看可用的模式。
    • @Christop 提出了一个很好的观点。我要补充的是,上面的情节是由设置为set term pngcairo的输出终端生成的,您可以根据需要使用其他如set term post eps
    • @ZahaibAkhtar 感谢您的解释。是的,我知道现在就创建它。但是在这里,gnuplot 只有 8 种模式。如果我们有超过 8 个图例,你有什么建议。
    • 除了填充样式模式之外,您可能还想使用颜色来区分它们,或者尝试使用可能允许超过 9 种模式的不同输出终端。
    • 我知道,lua tikz 终端有 12 种模式,请参阅 Fill bars in gnuplot with dots or other patterns 示例,也可以自定义填充模式。
    猜你喜欢
    • 1970-01-01
    • 2016-12-19
    • 2021-11-24
    • 2018-10-24
    • 2012-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多