是否可以在垂直折线图中的gnuplot中的y轴上标注?

时间:2013-03-10 19:02:13

标签: gnuplot linechart

我曾尝试浏览有关Gnuplot的教程和示例,但似乎没有任何内容可以解决我手边的问题。

我做了一个我想画的图表的模型:

Desired plot http://i50.tinypic.com/206o54z.png

数据将以这种方式呈现:

Item A  10  80
Item B  24  75
Item C  25  52
Item D  24  45
Item E  30  43
....

行数会更高但只有两个系列'。

对于Gnuplot来说,我是完全初学者,但由于Excel无法绘制垂直折线图,我认为也许可以制作Gnuplot,但却无法弄清楚它是如何甚至是可能的

对我应该采取的任何指示表示赞赏。

2 个答案:

答案 0 :(得分:2)

此答案假定数据文件的列是制表符分隔的。

实现这一目标有几个步骤:

  1. 您需要交换x和y坐标,例如使用using 2:0代替using 0:2
  2. 需要颠倒y轴:set yrange [] reverse
  3. 使用第一列作为y-tics的标签:using 2:0:yticlabels(1)
  4. 将关键字放在情节上方:set key above
  5. 全部合在一起:

    set key above
    set yrange [] reverse
    set datafile separator '\t'
    plot 'data.txt' using 2:0:yticlabels(1) with lines title 'Series A', \
         'data.txt' using 3:0               with lines title 'Series B'
    

    结果:

    Result of the above Gnuplot script

答案 1 :(得分:0)

当我对我的图表进行了一些格式化并决定分享我的最终结果,以及其他人遇到类似问题的情况。我可能会以太困难的方式做到这一点,但它完成了工作。

set key above center
set yrange [] reverse
set datafile separator '\t'
set style line 1 lt 'dashed' lw 4 lc 'black'
set style line 2 lt 1 lw 3 lc 'black'
set style increment userstyle
set xrange [0:100]
set xtics add 25
plot 'data' using 2:0:ytic(1) with lines title 'Now', \
      'data' using 3:0 with lines title '10 years ago'

Sample chart

再次感谢Thor!