结合 yerrorbars 和可变点大小
Combining yerrorbars and variable point size
我正在尝试绘制以下数据文件
#x y s err
1 1 0.1 0.2
2 2 0.2 0.2
3 3 0.3 0.2
4 4 0.4 0.2
5 5 0.5 0.2
6 6 0.6 0.2
7 7 0.7 0.2
8 8 0.8 0.2
9 9 0.9 0.2
10 10 1.0 0.2
其中点的大小可变,由第 3 列给出,错误在第 4 列中给出。我可以得到
plot "test" u 1:2:3 pt 7 ps variable
plot "test" u 1:2:4 w yerrorbars pt 7
独立工作,给了我这个:
但是当我尝试将它们组合起来时
plot "test" u 1:2:4:3 w yerrorbars pt 7 ps variable
我得到一些很奇怪的东西:
yerrorbars
似乎将第 4 列用作 y 列,将第 3 列用作 yerror 列。更奇怪的是,如果我尝试 u 1:2:3:4
,我会得到相同的输出。我这样做有什么问题吗?我可以手动将误差线绘制为矢量,但如果可能的话,我更愿意使用内置的误差线样式。
gnuplot> help yerrorbars
The `yerrorbars` (or `errorbars`) style is only relevant to 2D data plots.
`yerrorbars` is like `points`, except that a vertical error bar is also drawn.
At each point (x,y), a line is drawn from (x,y-ydelta) to (x,y+ydelta) or
from (x,ylow) to (x,yhigh), depending on how many data columns are provided.
The appearance of the tic mark at the ends of the bar is controlled by
`set errorbars`.
2 columns: [implicit x] y ydelta
3 columns: x y ydelta
4 columns: x y ylow yhigh
An additional input column (4th or 5th) may be used to provide information
such as variable point color.
因此,为了提供超过 3 列并且仍然使用单个值作为 ydelta,您应该能够做到
plot "test" u 1:2:(-):(+):3 w yerrorbars pt 7 ps variable
但是,正如您指出的那样,这实际上并不像记录的那样工作。
Work-around
另一种方法是进行两次传递;首先绘制误差线并抑制点,然后绘制具有所需属性的点:
unset key
plot "test" u 1:2:3 with yerrorbars pt 0, \
"" u 1:2:4 with points pt 7 ps variable
我正在尝试绘制以下数据文件
#x y s err
1 1 0.1 0.2
2 2 0.2 0.2
3 3 0.3 0.2
4 4 0.4 0.2
5 5 0.5 0.2
6 6 0.6 0.2
7 7 0.7 0.2
8 8 0.8 0.2
9 9 0.9 0.2
10 10 1.0 0.2
其中点的大小可变,由第 3 列给出,错误在第 4 列中给出。我可以得到
plot "test" u 1:2:3 pt 7 ps variable
plot "test" u 1:2:4 w yerrorbars pt 7
独立工作,给了我这个:
但是当我尝试将它们组合起来时
plot "test" u 1:2:4:3 w yerrorbars pt 7 ps variable
我得到一些很奇怪的东西:
yerrorbars
似乎将第 4 列用作 y 列,将第 3 列用作 yerror 列。更奇怪的是,如果我尝试 u 1:2:3:4
,我会得到相同的输出。我这样做有什么问题吗?我可以手动将误差线绘制为矢量,但如果可能的话,我更愿意使用内置的误差线样式。
gnuplot> help yerrorbars
The `yerrorbars` (or `errorbars`) style is only relevant to 2D data plots.
`yerrorbars` is like `points`, except that a vertical error bar is also drawn.
At each point (x,y), a line is drawn from (x,y-ydelta) to (x,y+ydelta) or
from (x,ylow) to (x,yhigh), depending on how many data columns are provided.
The appearance of the tic mark at the ends of the bar is controlled by
`set errorbars`.
2 columns: [implicit x] y ydelta
3 columns: x y ydelta
4 columns: x y ylow yhigh
An additional input column (4th or 5th) may be used to provide information
such as variable point color.
因此,为了提供超过 3 列并且仍然使用单个值作为 ydelta,您应该能够做到
plot "test" u 1:2:(-):(+):3 w yerrorbars pt 7 ps variable
但是,正如您指出的那样,这实际上并不像记录的那样工作。
Work-around
另一种方法是进行两次传递;首先绘制误差线并抑制点,然后绘制具有所需属性的点:
unset key
plot "test" u 1:2:3 with yerrorbars pt 0, \
"" u 1:2:4 with points pt 7 ps variable