【问题标题】:gnuplot: misinterpreting data (histogram)gnuplot:曲解数据(直方图)
【发布时间】:2013-08-18 09:52:24
【问题描述】:

我有以下示例数据文件,我想在gnuplot 中将其绘制为直方图

1   1
2   2
4   3

我正在使用以下命令绘制数据:plot "sample.data" with boxes,它会生成以下图表:

      ##
      ##
  ######
  ######
########
########

而图表应该是这样的(3 应该没有值):

      ##
      ##
  ##  ##
  ##  ##
####  ##
####  ##

来自help boxwidth 我了解到:“默认情况下,相邻框的宽度会扩展,直到它们相互接触”。这对我来说似乎是一个严重的错误/错误功能。我希望我的数据能够正确表示,而不是绘制不存在的数据。当这个简单的示例失败时,我如何信任 gnuplot 来正确表示我的数据?

【问题讨论】:

    标签: gnuplot


    【解决方案1】:

    如果您还阅读了它周围的其他句子,您会看到,只有在没有明确指定 boxwidth 时才会自动计算框。这可以通过使用第三列或使用set boxwidth 设置一个宽度来完成:

    set boxwidth 1
    plot "sample.data" with boxes
    

    plot "sample.data" using 1:2:(1) with boxes
    

    注意,boxwidth 以 x 轴为单位。

    【讨论】:

    • 谢谢,这行得通。然而,我的观点是,如果 gnuplot 的行为方式是这样,那么我如何才能确保我的数据在未来正确显示?为什么默认会曲解数据,只有在提供附加参数的情况下才能正确显示数据。我是否总是需要担心,我可能错过了一些参数,我的图表是垃圾?
    • 我不知道为什么这是默认设置,但值得与 gnuplot 开发人员讨论它,因为set boxwidth 会影响几种绘图样式。自动计算宽度的默认设置可能很有用,但对所有框使用最小宽度。但是,如果您在脚本中设置了固定的框宽度,您就知道该图表是正确的。
    • @Christoph 这很好,但让盒子很丑。它们变成了细的垂直线。使用 set boxwidth 5 没有帮助。
    • @Notinlist using 语句中给出的框宽度以 x 轴为单位。 set boxwidth 5 也使用 x 轴单位作为参考。使用 set boxwidth 1 relative 使用相对长度,但这取决于框间距,并且并非对所有框都相同。
    • @Notinlist 在这种情况下,x 单位是秒,这可以解释为什么你的盒子这么小
    猜你喜欢
    • 2013-07-28
    • 2017-05-11
    • 2017-08-25
    • 2016-05-27
    • 1970-01-01
    • 1970-01-01
    • 2022-01-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多