我正在将Linux与gnuplot结合使用,并希望加载一个简单的两列数据文件,并从一些python代码中进行绘制/保存。
除了教程和示例之后,我没有任何问题,但现在我想对其中一列执行数学运算,例如以该列的log10()
为例,以便绘制(例如)(x, log10(y))
,其中x
和y
是数据文件中的两列。
这是显示操作方法的完美链接:
How to plot a function of an imported data in gnuplot?
问题是我想使用gnuplot -e ......
运行gnuplot的bash脚本,因为我是从Python运行的,所以它立即从脚本中删除了$
符号,但并没有。工作。如果我选择不对数据进行转换(按原样保留),它将运行良好,因此所有其他语法都可以。
应该告诉我,我不知道$
符号试图传达什么,我认为它与我的操作系统或其他东西有关,而不是gnuplot。这里的任何见解都会很棒。
答案 0 :(得分:1)
您必须转义$
符号,以便外壳程序不尝试执行变量替换。为此,您可以在前面添加反斜杠:
gnuplot -e "plot 'filename.dat' using 1:(log10(\$2))"
应该工作。