我可以使用第1列作为键列,使用x作为每个键的数据点编号吗?

时间:2011-04-16 16:45:34

标签: gnuplot

我有以下数据:

A 1
B 2
C 1
D 3
A 4
B 3
C 2
D 1

第一列将重复少量key名称。但它是一个可变数字,值可以在不同的运行中发生变化。

我是否可以使用plot定义,将第一列用作key,将第二列绘制为y并从数据中绘制x点数key

1 个答案:

答案 0 :(得分:1)

AFAIK这是不可能的。 Gnuplot可以做某种算术但不是这种算法。要么你将导出这种数据格式的程序调整为gnuplot可以处理的程序,要么编写一个为你做同样技巧的小脚本。

如果我理解正确,这个python脚本应该将数据转换为gnuplot可以处理的内容:

#data = <read your data file>
Content = data.split("\n")
Dict = dict()
for l in Content:
    Line = l.split(" ")
    if not Line[0] in Dict:
        Dict[Line[0]] = int(Line[1])
    else:
        Dict[Line[0]] += int(Line[1])

file = open("Output.data", "w") 
for (key, value) in Dict.items():
    file.write(key + " " + str(value) + "\n")
file.close()