【问题标题】:How can I set the line color when plotting with Ruby's GnuPlot (rgplot)?使用 Ruby 的 GnuPlot (rgplot) 绘图时如何设置线条颜色?
【发布时间】:2012-07-05 08:44:02
【问题描述】:

默认的线条颜色是黄色,我想把它改成黑色。

【问题讨论】:

    标签: ruby gnuplot


    【解决方案1】:

    假设您的数据集变量 (x, y, z) 已定义,请尝试这样的操作

    ::Gnuplot.open do |gp|
      ::Gnuplot::Plot.new(gp) do |plot|
        plot.data << ::Gnuplot::DataSet.new([x, y, z]) do |ds|
          ds.with = 'errorb lt rgb "black"'
        end
      end
    end
    

    指定颜色的行也指定您要使用误差线进行绘图(对于 z 变量)。也可以这样格式化:

    ds.with = "errorb lt rgb \"black\""
    

    当然,您可以删除“errorb”并绘制一个双变量 (x,y) 数据集。

    顺便说一句,要查看可用的颜色,请键入

    show colournames
    

    在 gnuplot 环境中的终端中。尝试http://gnuplot.sourceforge.net/docs_4.6/gnuplot.pdf 获取更多文档。

    【讨论】:

    • 对,我最终得到:ds.with = "lines lt rgb \"black\""
    【解决方案2】:

    我假设你有 GnuPlot 4.x,对吗?因为据我所知,颜色选项在以前的版本中不起作用(如果我错了,请纠正我)。

    现在为您解答。检查this 以查看语法以设置线条的颜色(我相信您需要linecolor rgb "red" 部分)。现在,您可以像这样将 Ruby 包装器中的 set 命令传递给 GnuPlot:

    Gnuplot.open do |gp|
       Gnuplot::Plot.new(gp) do |plot|
          plot.set("style", "line 1 lt 1 lw 3 pt 3 linecolor rgb \"red\"")
       end
    end
    

    亲自查看(我相信它应该通过浏览代码来帮助您)代码位于github。希望对你有所帮助。

    【讨论】:

    • 这看起来应该可以工作,但它没有(没有错误或消息)。这是我的情节代码:pastie.org/4203594。如果可以在每个 Gnuplot::DataSet 的级别上设置此“样式”设置,那就太好了。
    • 我认为它可以为每个数据集设置..看到line 1了吗?我相信它适用于个人数据集。而不是linecolor 使用lc 看看是否有效。还有你的 gnuplot 版本是什么?
    • 我用第 1 行到第 5 行测试 - 相同的缺失结果:oP。在我的代码示例中,ds 对象没有 set 方法。根据 gnuplot 帮助系统,lclinecolor 是同义词。我的 Gnuplot 版本是 4.6.0。 rgplot 是 2.4.1。
    • 尝试在plot.style "fill solid 0.5 border" 定义中编写linecolor 语句,看看是否可行。否则我不知道为什么它不起作用:/
    猜你喜欢
    • 2015-04-16
    • 1970-01-01
    • 1970-01-01
    • 2012-01-23
    • 2015-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多