使用具有多个y轴的gnuplot的直方图

使用具有多个y轴的gnuplot的直方图,gnuplot,histogram,Gnuplot,Histogram,我无法找到解决我面临的以下问题的方法。所有关于多轴的问题都是关于直线图的,但我在寻找直方图 条形图的y范围不同,因此一组条形图因比例不同而看不到。以下是数据: Metric A B M1 0.613416301 0.543734744 M2 0.000195961 0.000100190 公制A B M1 0.613416301 0.543734744 M2 0.000195961 0.000100190 以下是MWE: reset set term postscript eps si

我无法找到解决我面临的以下问题的方法。所有关于多轴的问题都是关于直线图的,但我在寻找直方图

条形图的
y范围
不同,因此一组条形图因比例不同而看不到。以下是数据:

Metric A B
M1 0.613416301 0.543734744 
M2 0.000195961 0.000100190

公制A B
M1 0.613416301 0.543734744
M2 0.000195961 0.000100190

以下是MWE:

reset
set term postscript eps size 5.5,4.5 enhanced color font 'Arial-Bold' 25
set out 'histplot.eps'
set key right 
set style histogram cluster gap 2 
set style data histograms
set style fill pattern 1.00 border
set y2range [0.0001:0.0002]
plot 'histplot.dat' using 2 ti col, '' u 3:xticlabels(1) ti col
quit

重置
设置术语postscript eps大小5.5,4.5增强型彩色字体“Arial Bold”25
设置“histplot.eps”
设置正确的键
设置样式直方图簇间距2
设置样式数据直方图
将样式填充图案设置为1.00边框
设置范围[0.0001:0.0002]
使用2个ti列、u 3:xticlabels(1)ti列绘制“histplot.dat”
退出

这是样本输出(未看到M2以上的一组钢筋):


我更喜欢的是第二个y轴(在绘图的右侧),其范围适合于我的数据文件的第二行。这可能吗?非常感谢您的帮助。

通常,您可以使用
newhistogram
在彼此下方绘制几个柱状图。但是,当使用模式作为填充样式时,这似乎是一个错误:

reset
set style histogram cluster gap 1
set style data histograms
set style fill pattern 1.00 border

set yrange [0:*]
set ytics nomirror
set y2range [0:*]
set y2tics

set key right autotitle columnheader
plot 'histplot.dat' u 2 every ::::0, '' u 3:xtic(1) every ::::0,\
     newhistogram lt 1 at 1,\
     'histplot.dat' u 2 every ::1::1 axes x1y2, '' u 3:xtic(1) every ::1::1 axes x1y2

或者,您可以使用
multiplot
并在两个直方图的正下方绘制:

reset
set style histogram cluster gap 1
set style data histograms
set style fill pattern 1.00 border

set yrange [0:*]
set ytics nomirror
set multiplot layout 1,2
set rmargin at screen 0.5
set lmargin 9
unset key
plot 'histplot.dat' using 2 every ::::0 ti col, '' u 3:xticlabels(1) every ::::0 ti col

set rmargin 9
set lmargin at screen 0.5
unset ytics
set y2range [0:*]
set y2tics
set key right
plot '' using 2 every ::1::1 axes x1y2 ti col, '' u 3:xtic(1) every ::1::1 axes x1y2 ti col
unset multiplot


如果您不想要分隔的黑线,您可以对第一个绘图使用
set border 7
,对第二个绘图使用
set border 13

只是为了澄清:您不想要断轴、对数缩放或类似吗?@Wrzlprmft:是的,我不想要对数缩放。很抱歉,不理解断轴术语。是断轴的示例。@Wrzlprmft:谢谢。我喜欢一个完整的轴。这太棒了!非常感谢你。您对许多gnuplot问题的回答非常有用。也谢谢你。