gpt4 book ai didi

Gnuplot 脚本,用于在现有绘图中循环或添加到现有绘图

转载 作者:行者123 更新时间:2023-12-04 06:42:38 25 4
gpt4 key购买 nike

我想以设定的间隔在 gnuplot 中绘制一系列垂直线。

关于剧情的一些信息。

该图主要是来自 .dat 文件的一些数据。 gnuplot 脚本由使用 sed 更改 gnu 绘图脚本的 bash 脚本调用。这是旧 bash 脚本的一个片段(我敢肯定是丑陋的)。

sed -i 's/C = CONCEHOLD/C = '${$CO}'/g' $GNUPLOTROOT/plotviscosity.plt
gnuplot $GNUPLOTROOT/plotviscosity.plt
mv my-plot.ps $VISCPLOTNAME
sed -i 's/C = '${$CO}'/C = CONCEHOLD/g' $GNUPLOTROOT/plotviscosity.plt

与 . plt 文件看起来像这样。
set title "Viscosity vs Time, C = CONCEHOLD, beta = RATHOLD, zeta = ZETAHOLD"
set xlabel "Time"
set ylabel "Viscosity"
plot "viscout.dat" using 3:2 title 'Viscosity'
# Saving to my-plot.ps
load save.plt
#

我想以设定的重复间隔向该图中添加一系列垂直线。我找到了如何通过 http://t16web.lanl.gov/Kawano/gnuplot/parametric-e.html 绘制垂直线
set parametric
const=3
set trange [1:4]
set xrange [0:5]
set yrange [0:5]
plot const,t

我想拥有
const=repititionperiod*i

其中 i 是属于 (1,calculateduppedlimit] 的整数。

我可以再次通过 sed 输入 repititionperiod 并在一个类似的徒劳的计算上升限制中,但需要在 gnuplot 或单独的 gnuplot 脚本中使用某种 for 循环,该脚本在我的 bash 脚本的 for 循环中向已创建的绘图添加一条垂直线。

我在 gnu 图中找不到任何有关循环的信息或添加到以前创建的图中。

感激地收到任何建议。

最佳答案

编辑: Gnuplot 现在确实支持 for 循环,你可以阅读它 here

据我了解,gnuplot 没有 for 循环,尽管您可以生成以下类型之一:

制作一个包含“loop.gp”的文件

const  = const + 1
#... some gnuplot commands ...
if(const<100) reread

然后在 gnuplot 终端或脚本中编写,
const = 3; load "loop.gp";

这会给你一个简单的循环。

(此示例取自 http://t16web.lanl.gov/Kawano/gnuplot/index-e.html 的杂项部分)

对于您的特定答案,您可以尝试添加箭头而不是参数线,
例如。
set arrow from const,1 to const,4 nohead

会做很多相同的事情。

在这种情况下,您 loop.gp 可能是
const  = const + repititionperiod
#... some gnuplot commands ...
set arrow from const,1 to const,4 nohead
if(const<calculatedupperlimit) reread

你会运行你的循环
const = 1; repititionperiod=2;calculatedupperlimit = 10; load "loop.gp"; replot;

重新绘图绘制了箭头。

如果你“只是”想要线条而不是别的 - 那么你需要提供一个图表来实际绘制(一组箭头不计算在内)。然后可以使用您提供的示例绘制第一条垂直线。

希望这可以帮助。

汤姆

关于Gnuplot 脚本,用于在现有绘图中循环或添加到现有绘图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4062999/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com