使用gnuplot中的文本列作为打印参数
我使用的csv文件包含3列数据,如下所示:使用gnuplot中的文本列作为打印参数,gnuplot,Gnuplot,我使用的csv文件包含3列数据,如下所示: Country name, Year, Population value Afghanistan, 2000, 8774440 Afghanistan, 2001, 8774441 Afghanistan, 2002, 8774442 Germany, 2000, 18774440 Germany, 2001, 18774442 Germany, 2002, 18774444 我试图绘制人口增长图,即以年为x轴,以值为y轴 我是gnuplot的新手,
Country name, Year, Population value
Afghanistan, 2000, 8774440
Afghanistan, 2001, 8774441
Afghanistan, 2002, 8774442
Germany, 2000, 18774440
Germany, 2001, 18774442
Germany, 2002, 18774444
我试图绘制人口增长图,即以年为x轴,以值为y轴
我是gnuplot的新手,想知道是否可以使用第一列绘制第二列和第三列
列的值作为参数/参数
我知道可以使用sed-like绘制特定的行
plot "<(sed -n '0,2p' p.csv)" using 2:3 with lines
plot”不需要sed或awk。您可以使用三元运算符作为过滤器(请参见帮助三元
)。但是,应该有类似的问题(关于按数字过滤),我现在找不到
代码:
### plot data filtered with ternary operator
reset session
set datafile separator comma
$Data <<EOD
Afghanistan, 2000, 8774440
Afghanistan, 2001, 8774441
Afghanistan, 2002, 8774442
Germany, 2000, 18774440
Germany, 2001, 18774442
Germany, 2002, 18774444
EOD
mySelection = "Afghanistan"
myFilter(n) = strcol(n) eq mySelection ? $3 : NaN
set format y "%.0f"
set key top left
set xtics 1
plot $Data u 2:(myFilter(1)) w lp pt 7 title mySelection
### end of code
###用三元运算符过滤的绘图数据
重置会话
设置数据文件分隔符逗号
$Data不需要sed或awk。您可以使用三元运算符作为过滤器(请参见帮助三元
)。但是,应该有类似的问题(关于按数字过滤),我现在找不到
代码:
### plot data filtered with ternary operator
reset session
set datafile separator comma
$Data <<EOD
Afghanistan, 2000, 8774440
Afghanistan, 2001, 8774441
Afghanistan, 2002, 8774442
Germany, 2000, 18774440
Germany, 2001, 18774442
Germany, 2002, 18774444
EOD
mySelection = "Afghanistan"
myFilter(n) = strcol(n) eq mySelection ? $3 : NaN
set format y "%.0f"
set key top left
set xtics 1
plot $Data u 2:(myFilter(1)) w lp pt 7 title mySelection
### end of code
###用三元运算符过滤的绘图数据
重置会话
设置数据文件分隔符逗号
$Data