我是 gnuplot 的新手。我正在阅读手册,但很难找到一些缩写人们在脚本中使用。例如,我正在使用一个脚本,它说:
f(x)=invnorm(x)
g(x)=norm(x)
plot \
"file.curve" u (f($3)):(f($2)) ti "Curve 1" ls 1 lw 3, \
"file.curve" u (f($3)):(f($2)) ti "Curve 2" ls 2 lw 3, \
"file.curve" u (f($3)):(f($2)) ti "Curve 3" ls 3 lw 3, \
f(1-g(x)) noti lt rgb "#FF0000" lw 0.75, \
f(12.5*g(x)) noti lt rgb "#808080" lw 0.75
我认为自己理解ti
代表title
、ls
代表line style
和lw
代表,但和 又line width
如何呢?(我在哪里可以查找到)?lt
noti
那么,最后两行起什么作用?
答案1
Gnuplot 5.0.3
自动提取缩写列表,其中包含代码变体其他答案。
ra-提高 低 - 较低 双结合 ca-呼叫 cl-清除 eval-评估 退出 f——适合 h-帮助 嗨历史 l——负载 pa-暂停 p - 图 pr-打印 Printerr - 打印错误 q——退出 ref-刷新 rep-重新绘制 重读 res-重置 sa-保存 scr——屏幕转储 设定 她壳 sh——显示 sp-斑点 st - 统计 sy-系统 und - 取消定义 uns - 取消设置 上一頁 更新 a - acsplines b - 贝塞尔 c - csplines s - 斯贝塞尔 u-唯一 f——频率 cum - 累计 k - k密度 cn - cnormal mcs - mcsplines 样条线 - 样条线 f - 函数 s - 设置 t - 终端 v - 变量 a-全部 ac-action_table 一个角度 ar - 箭头 au——自动缩放 b - 条形图 bor-边界 box - 盒子宽度 cl-标签 c - 剪辑 cntrp - cntrparam cntrl - cntrlabel 轮廓 dasht - dashtype da - 数据 数据 - 数据文件 dg-dgrid3d du - 假人 enc-编码 dec - 十进制符号 字体 - 字体路径 fo - 格式 fu - 函数 fu - 函数 g——网格 隐藏 - hidden3d 他的历史 是 - isosamples k - 键 keyt - 关键标题 la - 标签 线条 - 线条样式 线型 - 线型 loa——加载路径 loc - 语言环境 log - 对数尺度 mac - 宏 map - 映射 地图 - mining3d mar - 边距 lmar - 边距 rmar-rmargin tmar - tmargin bmar-bmargin 的翻译结果: bmargin: bmargin mo - 鼠标 mono - 单色 多 - 多图 mxt-mxtics - mxtics nomxt-nomxtics mx2t-mx2tics - mx2tics nomx2t-nomx2tics myt - 神秘主义者 nomyt-nomytics my2t-my2tics 商店 nomy2t-nomy2tics mzt-mztics - mztics nomzt - nomztics mrt - mrtics nomrt-nomrtics mcbt-- mcbtics 的发音 发音 发音 发音者 s ... nomcbt-nomcbtics 偏移量 或 - 原产地 o——输出 pa - 参数 pm - pm3d pal - 调色板 colorb - 颜色框 colorn - 颜色名称 颜色 - 颜色序列 p - 图 pointint - 点间隔框 poi - 点大小 pol-极性 pr-打印 obj-对象 sa-样本 si - 尺寸 st 风格 su-表面 t - 终端 termopt - termoptions 抽搐 ticsc - ticscale ticsl - ticslevel timef - timefmt tim - 时间戳 乳头 - 标题 v - 变量 ve - 版本 vi——查看 xyp——xy平面 xda - xdata x2da-x2data - x2data yda-ydata y2da-y2data zda-zdata cbda-cbdata-- 知识库 xl-x标签 x2l-x2label-x2标签 yl - y标签 y2l-y2label zl - z标签 cbl-cb标签 xti-xtics noxti-noxtics - 诺克斯蒂克斯 x2ti-x2tics nox2ti-nox2tics - nox2tics yti-ytics noyti-noytics y2ti-y2tics noy2ti - noy2tics zti-ztics 简介 nozti-noztics - 诺兹蒂斯 rti - rtics norti-nortics cbti-- cbtics 的翻译结果: ... nocbti-- nocbtics xdti-xdtics noxdti-noxdtics - 知乎 x2dti-x2dtics nox2dti-nox2dtics - nox2dtics ydti-ydtics noydti-noydtics y2dti-y2dtics noy2dti - noy2dtics zdti-zdtics - 知乎 nozdti - nozdtics cbdti-cbdtics nocbdti-nocbdtics xmti-xmtics noxmti-noxmtics - noxmtics x2mti - x2mtics nox2mti-nox2mtics - nox2mtics ymti - ymtics noymti-noymtics 的翻译结果: noymti-noymtics 翻译结果: noymti y2mti - y2mtics noy2mti - noy2mtics zmti - zmtics nozmti - nozmtics cbmti-cbmtics 简介 nocbmti-nocbmtics - nocbmtics xr——xrange x2r-x2range 简介 yr - y范围 y2r-y2range zr - z范围 cbr-cbrange—— rr——安排 tr——奇怪 ur-橙色 vr-范围 xzeroa-xzeroaxis x2zeroa-x2zeroaxis yzeroa - yzeroaxis y2zeroa-y2zeroaxis zzeroa-zzeroaxis zeroa-零轴 rax-raxis z - 零 def-默认值 偏移 nooff - 无偏移 三角形图案 undef - 未定义 圆 - 名词定义 alt - 高度对角线 noalt - noaltdiagonal 弯腰 - 俯身 nobent-nobentover def-默认 t 顶 b——底部 l——左 r - 右 c - 中心 ver - 垂直 hor - 水平 ov - 结束 ab - 上方 u-下 在 - 下方 ins-内部 o - 外部 tm——tmargin bm——bmargin lm - 边距 rm——rmargin L - 左 R - 右 rev-反向 norev - noverse inv-反转 noinv - 无反转 enh-增强 noenh - 无增强 b - 盒子 nob - nobox sa - 样本 sp——间距 w——宽度 h——高度 a - 自动标题 noa - 无自动标题 ti - 标题 noti - 无标题 文本 - 文本颜色 maxcol - 最大列数 maxcolu - 最大列数 maxrow - maxrows 术语 - 终端 pal - 调色板 v——垂直 h——水平 def-默认 u - 用户 博 - 边界 bd——bdefault nobo-无边界 o - 原点 s - 尺寸 fr - 前面 ba - 后退 pos - 阳性 负面 gray - 灰度 灰色 - 灰度 col - 颜色 rgb - rgb公式 def-已定义 func - 函数 mo-模型 maxc-最大颜色 伽马 interp-插值 scansfor - 扫描转发 scansback - 向后扫描 scansauto - 扫描自动 dep - 深度顺序 fl-齐平 ftr——ftriangles noftr - noftriangles clip1 - clip1in clip4 - clip4in 博 - 边界 nobo-无边界 嗨 - hidden3d nohi - nohidden3d 如此坚固 notr-不透明 noso-nosolid tr——透明 i - 隐式 noe - noexplicit noi - noimplicit 电子显式 corners2c-corners2color d——数据 f - 函数 l - 行 ar - 箭头 incr - 增量 hist-直方图 circ - 圆圈 ell - 椭圆 rect - 矩形 平行 - 平行轴 l - 行 i——脉冲 p - 点 linesp - 线点 d - 点 yerrorl - yerrorlines errorl - 错误行 xerrorl - xerrorlines xyerrorl - xyerrorlines ye - yerrorbars e - 误差线 xe——xerrorbars xye-xyerrorbars hist-直方图 filledc - 填充曲线 拳击手 - boxerrorbars boxx - boxxyerrorbars st - 步骤 fillst - 填充步骤 fs - f 步进 his-hsteps vec - 向量 金融 - financebars 可以 - 蜡烛图 pm - pm3d ima - 图像 rgbima - rgbimage rgba-rgbalpha 属性 cir - 圆圈 ell - 省略号 表面 平行 - 平行轴 c-关闭 x - x1
答案2
gnuplot 有一组命令和一组针对每个命令的选项。每个命令和选项的名称都可以缩写为描述它的最短唯一字符串,例如p
对于 plot 命令、sp
对于splot
命令、t
对于title
选项plot
。请注意,例如,您不能使用s
for ,splot
因为它与 冲突set
。
gnuplot 中以 开头的两个字母的缩写l
通常表示行特征,例如lt
for linetype
、lw
for linewidth
。这些实际上是可以与长格式互换使用的唯一标志:lw
,linew
并linewidth
指定相同的选项。您可以在该命令的命令行文档中看到这一点set style line
:
help set style line
这给出
Syntax:
set style line <index> default
set style line <index> {{linetype | lt} <line_type> | <colorspec>}
{{linecolor | lc} <colorspec>}
{{linewidth | lw} <line_width>}
{{pointtype | pt} <point_type>}
{{pointsize | ps} <point_size>}
{{pointinterval | pi} <interval>}
{palette}
unset style line
show style line
您可以看到,用竖线(“|”)分隔的选项是等效的。
为了在开始使用 gnuplot 时确保安全,我建议输入完整的命令,当您变得更有经验/懒惰时,您可以开始缩写更多命令。
[编辑] 完成回答你的问题:
1)lt
代表linetype
。您可以使用该命令查看当前终端的线路类型test
。
2)noti
代表notitle
,其作用正如您所想。
3)最后两行绘制没有标题且宽度为 0.75pt 的红线 f(1-g(x));以及没有标题且宽度为 0.75pt 的灰线 f(12.5*g(x))。
答案3
这里
上面那个是按字母顺序排列的缩写列表适用于 gnuplot 5.0.3。
我认为这是一个有用的资源,我决定遵循自己的建议(见下文)后把它放在那里:-)
。
有时我发现未分类版本 其中缩写按命令分组,然后按与命令相关的选项分组。
两种方式
据我所知,没有完整的缩写列表,至少查找起来不那么简单。而且它会在每个新版本中更新。
gnuplot
接受永久缩短无歧义字符串的断言是不正确的我
必须承认这是一个好的经验法则猜测,但不能盲目依赖:例如p
用于plot
但与有歧义print
。那么该怎么办?
向 gnuplot 本身寻求帮助
如果有歧义,您可以向 gnuplot 本身的 CLI(命令行界面)寻求帮助。gnuplot> help ti Ambiguous request 'ti'; possible matches: tics tikz time tips title
“如果你想做某事,那就自己做!”
从 gnuplot 网站下载源代码您的版本。
提取存档。进入目录src
并搜索文件tables.c
。
现在您的运气取决于您系统上的工具。
它是一个文本文件,因此您可以使用每个文字处理器(甚至记事本)阅读它。
阅读里面的内容,您会发现很多行(例如 5.0.3 版本的 349 行)如下:{ "e$rrorbars", YERRORBARS } { "errorl$ines", YERRORLINES }, { "eval$uate", eval_command },
从上面您可以了解到,当您使用
e
CLI 时将会理解errorbars
,用errorl
代替errorlines
(这里是第一个与刚刚选择的其他匹配不同的明确匹配)等等......您将在文件中发现更多内容再次的缩写
e
{ "e$rrorbars", YERRORBARS },
但不存在歧义,因为它不会被解析为命令而是命令的选项。
请求
bash
为您工作......如果你在 Linux 或
bash
shell 下,你可以要求你的 shell 为你工作:grep '\$' tables.c | sed 's/{//g ; s/}//g ; s/,//g ; s/"//g'
你可以清洁得更多
grep '\$' tables.c | sed 's/{//g ; s/}//g ; s/,//g ; s/"//g' \ | awk '{split ($1,a, "$"); printf ("%10s - %s \n", a[1],a[1]a[2] ) }'
这给出了这些和其他 345 行......
p - plot rep - replot sp - splot multi - multiplot