使用csv文件绘制直方图

维纳亚克·梅塔(Vinayak Mehta)

我有以下格式的csv文件。

标签1、20
标签2、10
标签3、30
标签N,5

如何使用csv文件中给定的标签作为x轴上的标签来绘制第二列?

(喜欢的东西这样,其中1891-1900是一个标签)

编辑:

找到了与我非常相似的这些问题,

  1. 使用gnuplot绘制词频直方图

  2. Gnuplot xticlabels有几行

尝试答案1中给出的命令后。

设置xtics边框的比例为1,0.5 nomirror旋转-90偏移字符0、0、0
使用带有直方图的2:xticlabels(1)绘制“ data.txt”

我得到的不是很干净的直方图,因为标签的数量很大。我已经尝试了答案2中给出的格式。有人可以建议一种获得更清晰直方图的方法吗?

公理

您有几种选择:

  1. 仅绘制重要标签(例如,极值,均值等)
  2. 如果标签组成一系列标签,则每隔第5个标签跳过一次
  3. 如果必须绘制每个标签,请拆分图形。

似乎像情况2)在这里适用,因此在绘制之前跳过某些标签会使绘图看起来更好。

您可以使用以下脚本对文件进行预处理,以跳过每第5个标签(例如):

line_number = 0
for line in open("d1.txt", "r"):
    line_split = line.split(",")
    if(line_number % 5 == 0):
        print line,
    else:
        print ",",line_split[1],
    line_number += 1

您现在可以使用适当的字体大小进行绘图

set xtics border in scale 1,0.5 nomirror rotate by -90 offset character 0, 0, 0
set xtics font ",9"
plot "d2.txt" using 2:xticlabels(1) with histogram title "legend_here"

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章