如何解决打印具有解密列和多行的简历
我有一个具有此内容的csv文件(行=标题+ 10个值,行=图表中的线) column-count是已知的(但如果仅需要Title且值计数是打开的(但所有行都相同),那将是很棒的),行数是开放的
Test1;0,051;0,040;0,052;0,049;0,059;0,044
Test2;0,016;0,019;0,021;0,022;0,022
Test3;0,216;0,200;0,210;0,205;0,203;0,206;0,204
LibreOffice的结果
现在我想用gnuplot打印它
我尝试过
set xrange [1:10]
set yrange [0:2]
plot for [row=0:*] 'test.csv' matrix every :::row::row with lines
但这只会给我一些错误消息
"gnuplot.txt" line 7: warning: matrix contains missing or undefined values
"gnuplot.txt" line 7: warning: matrix contains missing or undefined values
"gnuplot.txt" line 7: warning: matrix contains missing or undefined values
"gnuplot.txt" line 7: warning: matrix contains missing or undefined values
如果有人可以给我提示会很好
解决方法
不幸的是,gnuplot不喜欢行中的数据,并且不具有转置功能。我想您可以尝试用matrix
来绘制行,但是目前我还没有直接的方法将行标题作为键条目。
因此,您可以使用外部工具来转置数据,也可以使用下面麻烦的gnuplot-transpose-attempt来绘制列。至少,这对于Linux和Windows都应该有效,而无需安装额外的工具。
您的十进制符号为,
。由于我的标准十进制符号为.
,因此我必须设置:
set decimalsign locale 'french' # or 'german' might also work
数据: test.csv
Test1;0,051;0,040;0,052;0,049;0,059;0,044
Test2;0,016;0,019;0,021;0,022;0,022
Test3;0,216;0,200;0,210;0,205;0,203;0,206;0,204
代码:
### plot row data with rowheader as key entry
reset session
myFile = 'test.csv'
set datafile separator ';'
set decimalsign locale 'french' # or 'german' should also work
# transpose data
stats myFile u 0 nooutput
set table $Dummy
set print $DataTransposed
do for [i=1:STATS_columns] {
LINE = ''
do for [j=0:STATS_records-1] {
plot myFile u (a=stringcolumn(i)) every ::j::j with table
LINE = LINE.sprintf('%s',j < STATS_records-1 ? a.";" : a)
}
print LINE
}
set print
unset table
undefine $Dummy
plot for [i=1:STATS_records] $DataTransposed u ($0+1):i w l ti columnheader
### end of code
结果:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。