Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在垂直折线图的gnuplot中,y轴上是否可能有标签?_Gnuplot_Linechart - Fatal编程技术网

在垂直折线图的gnuplot中,y轴上是否可能有标签?

在垂直折线图的gnuplot中,y轴上是否可能有标签?,gnuplot,linechart,Gnuplot,Linechart,我曾尝试浏览有关Gnuplot的教程和示例,但似乎并没有一个能解决我手头的问题 我制作了一个我想画的图表模型: 数据将以这种方式呈现: Item A 10 80 Item B 24 75 Item C 25 52 Item D 24 45 Item E 30 43 .... 行数将更高,但只有两个系列' 说到Gnuplot,我是一个完全的初学者,但由于Excel无法绘制垂直线图,我认为可能可以制作Gnuplot,但还没有弄清楚它是如何或是否可能实现的 任何关于我应该采取的

我曾尝试浏览有关Gnuplot的教程和示例,但似乎并没有一个能解决我手头的问题

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

数据将以这种方式呈现:

Item A  10  80
Item B  24  75
Item C  25  52
Item D  24  45
Item E  30  43
....
行数将更高,但只有两个系列'

说到Gnuplot,我是一个完全的初学者,但由于Excel无法绘制垂直线图,我认为可能可以制作Gnuplot,但还没有弄清楚它是如何或是否可能实现的


任何关于我应该采取的方向的指针都是非常感谢的。

这个答案假设数据文件的列是以制表符分隔的

要实现这一点,有两个步骤:

  • 您需要交换x和y坐标,例如使用
    使用2:0
    而不是
    使用0:2
  • y轴需要反转:
    set yrange[]reverse
  • 将第一列用作y-tics的标签:
    使用2:0:yticlabel(1)
  • 将键置于绘图上方:
    将键置于上方
  • 所有这些加在一起:

    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'
    
    结果是:


    我对图表进行了一些格式化,并决定分享我的最终结果,以防其他人遇到类似问题。我可能做这件事太难了,但它完成了任务

    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'
    


    再次感谢雷神

    如果它们没有标签,我想你可以使用类似的东西:
    使用3:0:yticlabel(strcol(1)。''.strcol(2))
    谢谢!正是我需要的。