【发布时间】:2014-04-28 06:11:07
【问题描述】:
我想绘制一个通用数据集
plot.data << ::Gnuplot::DataSet.new([x, y]) do |ds|
ds.with = "lines linewidth 2"
ds.notitle
end
然后冻结绘图的自动 y 范围,以便在某个位置“x1”处绘制一条垂直线,从该 y 范围的底部到顶部。我设置了一些变量并调用 plot:
a = [x1, x1]
b = [0, y.sort.last * 1.1]
plot.data << ::Gnuplot::DataSet.new([a, b]) do |ds|
ds.with = "lines linewidth 2 lt 0 lc 3"
ds.notitle
end
选择 b 的值来填充 y 轴范围。但是,当然,gnuplot 扩展了轴范围以适应我们较大的数组 b 值。因此,我没有从上到下画一条线,而是有一条线向上延伸了大约 90%,但我的数据被压扁了一点。
【问题讨论】:
-
如果它只是关于绘制一条跨越整个图形的垂直线,请在发出 plot 命令之前使用
set arrow from first x1, graph 0 rto 0, graph 1 nohead lw 2 lt 0 lc 3(不过,我不知道如何将其包含到 ruby-gnuplot 中)。如果您可以包含一个完整的、可运行的小型示例脚本,而不仅仅是一个 sn-p,那就太好了。