gnuplot:按字符串值堆叠数据

咏叹调

我有这个输入文件(它是自动生成的):

"John";"580"
"Monica";"580"
"Monica";"580"
"John";"580"
"John";"580"
"John";"580"
"John";"580"
"Mark";"576"
"Monica";"580"
"John";"580"
"John";"580"
"Mark";"586"
"John";"580"
"John";"580"
"John";"580"
"John";"580"
"Monica";"580"

我想创建一个图表,其中包含每人第二列的数字之和。

我尝试了其他可能的解决方案,但均无济于事。例如:

set datafile separator ";"    
plot "input.csv" u  1:2:xtic(1) smooth cumulative w boxes

这将返回错误,我知道gnuplot期望使用数值而不是字符串,那么我该怎么做呢?

我无法将其他任何列添加到文件,因为它是自动生成的。

谢谢。

克里斯多夫

这有点棘手。基本上,您必须为每个字符串分配一个唯一的数字,该数字用于添加属于相同字符串的值:

list = ''
index(w) = words(substr(list, 0, strstrt(list, w)-1))
add_label(d) = (strstrt(list, d) == 0 ? list=list.' '.d : '')

set datafile separator ";"    

plot 'input.csv' using (d='|'.strcol(1).'|', add_label(d),index(d)):2:xtic(1) smooth frequency w boxes

注意,您必须使用smooth frequency汇总所有属于单个字符串的cumulative才能汇总所有值。

我提出的解决方案仅适用于不带空格的字符串(无论它们是否用引号引起来),但可能会扩展为也可以使用空格(可能有点长)。

您将在上一个答案Gnuplot中找到更详细的描述,在y轴上绘制带有文本的图形

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

gnuplot:按字符串值堆叠数据

来自分类Dev

gnuplot:从数据中的字符串中提取x值

来自分类Dev

X轴上的字符串值的堆叠直方图失败

来自分类Dev

从数据文件中读取字符串值 - gnuplot

来自分类Dev

按值查找字符串

来自分类Dev

如何按字符串过滤数据

来自分类Dev

大熊猫数据框,按列比较2组的字符串值

来自分类Dev

如何在熊猫数据框中按字符串值的条件删除行?

来自分类Dev

按字符串名称构建数组或按字符串值创建多个数组

来自分类Dev

按字符数隔离字符串的值

来自分类Dev

按字符分割字符串,返回空值

来自分类Dev

oracle数据库:按字符分割字符串

来自分类Dev

C#按数字拆分字符串值

来自分类Dev

按值对字典(字符串,整数)进行排序

来自分类Dev

按查询字符串值显示的骨干渲染视图

来自分类Dev

在Java中按引号之间的值分割字符串

来自分类Dev

按字符串枚举值对mongo结果排序

来自分类Dev

C ++按向量中的值推回字符串

来自分类Dev

这是按值捕获字符串的正确方法吗?

来自分类Dev

按字符串日期值对数组列表排序

来自分类Dev

将列中的字符串值按开头分组

来自分类Dev

C#按数字拆分字符串值

来自分类Dev

Magento按名称的收集顺序-字符串值

来自分类Dev

在C中按值传递字符串

来自分类Dev

按值搜索列表字符串元素

来自分类Dev

按下键码不返回预期的字符串值

来自分类Dev

在列值中按字符串删除行

来自分类Dev

按字符串值对对象数组进行排序

来自分类Dev

ng-repeat 按字符串值排序