gnuplot常见问题解答


本材料描述了gnuplot卫星版本5(最高5.4)
常见问题解答版本:2021年12月
当前文档的PDF版本:http://www.gnuplot.info/faq/faq.pdf.

目录

0Meta–问题
 0.1我在哪里得到这份文件?
 0.2我在哪里发送有关此文档的评论?
1一般信息
 1.1是什么gnuplot卫星?
 1.2它是如何产生的,为什么被称为gnuplot卫星?
 1.3什么是gnuplot卫星报价?
 1.4gnuplot卫星适合编写脚本吗?
 1.5我能跑吗gnuplot卫星在我的电脑上?
 1.6法律
 1.7gnuplot卫星与FSF和GNU项目有关吗?
 1.8我从哪里获得更多信息?
2设置
 2.1的当前版本是什么gnuplot卫星?
 2.2我能去哪里gnuplot卫星?
 2.3为什么我会关心开发版本?
 2.4我在哪里可以获得的当前开发版本gnuplot卫星?
 2.5如何编译gnuplot卫星在我的系统上?
 2.6有哪些文档,如何获取?
 2.7示例
 2.8如何确定哪些选项已编译到我的gnuplot卫星可执行文件?
使用它。
 3.1我如何获得帮助?
 3.2如何打印图形?
 3.3如何将图形包含在我最喜欢的文字处理器中?
 3.4如何编辑或后期处理gnuplot卫星图表?
 3.5如何保存和恢复当前设置?
 3.6我可以将命令和数据放在一个文件中吗?
 3.7如何在绘图之前通过过滤器运行数据?
 3.8我能用吗gnuplot卫星我自己程序的例程?
4自定义绘图的外观
 4.1如何检查或更改默认颜色、线条和点属性?
 4.2去除隐藏线或表面
 4.3如何强制页面上图形边框的精确位置?
 4.4在单个页面上相邻排列多个绘图
 4.5如何请求轴的1:1缩放?
 4.6调色板同时适用于彩色和黑白打印?
 4.7如何跳过数据点?
 4.8如何绘制每个n点?
 4.9如何绘制垂直线?
 4.10Y轴标签位置错误和/或左边距太大
5人们经常询问的情节类型
 5.1动画
 5.2隐式定义图
 5.3如何填充两个函数之间的区域
 5.4绘制三维数据的二维投影
 5.5如何在pm3d地图/曲面上覆盖点/点散点图
 5.6如何生成标记轮廓
 5.7gnuplot卫星支持条形图/直方图/方框?
 5.8gnuplot卫星支持饼图?季度时间表?
 5.9gnuplot卫星支持单个绘图上的多个y轴?
 5.10如何绘制由三角形面组成的实体?
 5.11如何在非重叠区域中绘制两个函数?
 5.12如何使用splot绘制线(而不是网格)?
 5.13如何绘制一个函数f(x,y),该函数在x-y平面上由其他函数限定?
6文本格式和特殊符号
 6.1使用“增强文本”模式的文本标记
 6.2如何打开或关闭文本标记?
 6.3UTF-8是我所有特殊字符问题的答案吗?
 6.4如果我需要h-bar(普朗克常数)怎么办?
 6.5如果我需要太阳质量符号怎么办?
 6.6如何使用希腊字母或其他特殊符号?
 6.7如何包含重音字符?
 6.8我可以在绘图中输入不同的文本大小吗?
7其他
 7.1gnuplot卫星支持图形格式XXX的驱动程序?
 7.2我发现了一个虫子,我该怎么办?
 7.3我可以用gnuplot卫星? 或什么是超越gnuplot卫星?
 7.4如果我需要gnuplot没有的特殊函数呢?
 7.5如何在交互式终端中使用热键
 7.6我想帮助开发下一个版本的gnuplot卫星.我能做什么?
8常见问题
 8.1救命啊!我的字体都不起作用。
 8.2qt终端会话中的第一个绘图失败或布局错误
 8.3数据文件中的Pm3d splot不绘制任何内容
 8.4为什么gnuplot卫星忽略我的小数字?
 8.5当我回复调整大小一个multiplot我只得到一个片段
 8.6我的公式(比如1/3)给了我毫无意义的结果!发生什么事了?
 8.7我的输出文件不完整!
 8.8在管道中或从脚本中调用gnuplot不会在我的屏幕上显示绘图!
9信用

0 Meta–问题

0.1 我在哪里得到这份文件?

此文档的最新版本位于web上http://www.gnuplot.info/faq/.

0.2 我在哪里发送有关此文档的评论?

向开发人员邮件列表发送评论、建议等邮箱://gnuplot-beta@列表.sourceforge.net.

1 一般信息

1.1 是什么gnuplot卫星?

gnuplot卫星是一个命令驱动的绘图程序。它可以交互地用于绘制两个函数中的函数和数据点-以及多种不同样式和多种不同输出格式的三维绘图。格努普洛特也可以用作自动生成绘图的脚本语言。它主要用于科学数据的可视化显示。gnuplot卫星受版权保护,但可自由分发;你不必为此付费。欢迎下载源代码代码。

1.2 它是如何产生的,为什么被称为gnuplot卫星?

的作者gnuplot卫星包括:托马斯·威廉姆斯、科林·凯利、罗素·朗、戴夫·科茨、约翰·坎贝尔、格肖恩·埃尔伯、,亚历山大·吴和其他许多人。

以下引述来自Thomas Williams:

我在上微分方程课,科林在上电磁学,我们都认为有助于将它们背后的数学形象化。我们都是EE的系统管理员VLSI实验室,所以我们有图形终端和时间做一些编码。张贴得更好收到的数据比我们预期的要多,这促使我们添加了一些对文件数据的支持,尽管这些支持很蹩脚。

对GNUplot的任何引用都不正确。程序的真实名称是“gnuplot”。你看到人们了经常使用“Gnuplot”,因为我们很多人都不喜欢用小写字母开始句子字母,即使是专有名词和标题。gnuplot与GNU项目或FSF无关除了最边缘的意义之外。我们的软件是完全独立设计的“gnuplot”这个名字实际上是一种妥协。我想叫它“骆驼场”,科林想叫它“nplot。”我们一致认为“newplot”是可以接受的,但后来我们发现计算机科学系偶尔使用的那个名字的可怕的pascal程序。我决定了“gnuplot”是一个很好的双关语,科林同意了。

1.3 什么是gnuplot卫星报价?

1.4 gnuplot卫星适合编写脚本?

对。Gnuplot可以在交互式会话期间读入包含其他命令的文件,也可以在批处理模式下运行通过管道将预先存在的文件或命令流传送到stdin。Gnuplot被更高级别用作后端图形驱动程序Octave等数学包可以很容易地包装在cgi脚本中,用作web驱动的绘图生成器。Gnuplot支持使用熟悉的语句进行上下文或数据驱动的流控制和迭代否则继续休息 对于.

1.5 我能跑吗gnuplot卫星在我的电脑上?

格努普洛特在许多平台上广泛使用,包括MS Windows、linux、unix和OSX。当前源代码保留对旧系统的支持,包括VMS、Ultrix、OS/2和MS-DOS。然而,16位平台不是支持时间更长。

您应该能够编译gnuplot卫星在任何合理的标准(ANSI/ISO C,POSIX)环境。

1.6 法律

格努普洛特由一群志愿者撰写,他们不能就合规性或不符合gnuplot卫星或其用途。没有任何保证。使用时请自行承担风险。

格努普洛特从某种意义上说,它是免费的。您可以随意使用或修改gnuplot,然而,某些限制适用于修改版本的进一步分发。请阅读并遵守中的修改和重新分配条款版权文件。一些单独的源文件是显式双重授权的;在这些情况下,在特定文件中重新分配代码的替代术语列在文件。

1.7 gnuplot卫星与FSF和GNU项目有关吗?

格努普洛特既不是FSF编写的,也不是FSF维护的。曾有一段时间,它是由FSF发布的,但现在已经不是这样了。格努普洛特总的来说,GNU通用公共许可证(GPL)不包括在内。

1.8 我从哪里获得更多信息?

请参阅gnuplot主网页http://www.gnuplot.info.

一些文档和教程以英语以外的语言提供。请参见http://gnuplot.sourceforge.net/help.html,“gnuplot本地化学习页面”部分,获取最新列表。

2 设置

2.1 的当前版本是什么gnuplot卫星?

的当前稳定版本gnuplot卫星第5.4版,于2020年7月首次发布。增量版本(补丁级别1、2…)包括通常每六个月发布一次。的开发版本gnuplot卫星当前为5.5。

2.2 我能去哪里gnuplot卫星?

最好的出发点是http://www.gnuplot.info。从那里可以找到指向其他站点的各种指针,包括项目SourceForge上的开发站点http://sourceforge.net/projects/gnuplot.

源代码发行版(“gnuplot-5.4.0.tar.gz”或类似名称)可从官方发行版站点获得http://sourceforge.net/projects/gnuplot.

2.3 为什么我会关心开发版本?

当前的开发版本通常包括尚未加入最新稳定版本的功能格努普洛特。

2.4 我在哪里可以获得的当前开发版本gnuplot卫星?

gnuplot的开发版本保存在git存储库中,您可以如下所示进行克隆,以检查或构建源代码中的可执行程序。

git克隆https://git.code.sf.net/p/gnuplot/gnuplot网址gnuplot卫星

与开发版本相关的问题应转到邮箱://gnuplot-beta@列表.sourceforge.net.

2.5 如何编译gnuplot卫星在我的系统上?

阅读发行说明和文件自述文件安装。您需要C和C++编译器以及安装的版本各种支持库,具体取决于您选择的配置选项和您想要的终端类型可执行文件以支持。

2.6 那里有什么文档,我该如何获取?

完整文档以PDF文件的形式包含在发行版中。可以从内部浏览各个部分通过键入gnuplot会话帮助关键字。其他格式的文档可以从源代码编译文档子目录。

英语和日语的在线副本可在http://gnuplot.sourceforge.net/documentation.html.

2.7 工作示例

在源发行版中有一个工作示例的目录。这些示例和结果图也可以是在网上找到http://gnuplot.sourceforge.net/demo/.

2.8 如何确定哪些选项已编译到我的gnuplot卫星可执行文件?

假设您有的编译版本gnuplot卫星,您可以使用显示命令以显示配置列表和用于生成副本的生成选项。gnuplot副本中内置的输出格式(也称为“终端”)如下报告人设置终端.

gnuplot>show version long 
gnuplot>设置终端

使用它。

3.1 我如何获得帮助?

给予帮助命令。之后,继续查看关键字。良好的起点是帮助 情节帮助集.

当问问题时,总是提到gnuplot卫星您正在使用的版本和操作系统。如果你问的是打印结果与预期不符,请尝试显示生成打印的最小set gnuplot命令显示问题。

3.2 如何打印图形?

plot命令生成的输出格式由设置终端命令。对于非交互式输出你应该把这个和设置输出命令提供文件名。

例如,下面的会话首先在屏幕上绘制sin(x)图,然后将该图作为PDF重新绘制输出文件。注意:PDF绘图可能与屏幕上的绘图不完全相同。

gnuplot>绘制sin(x) 
gnuplot>设置终端pdf 
终端类型现在为“pdfcairo” 
选项为“透明增强型fontscale 0.5尺寸5.00英寸,3.00英寸” 
gnuplot>设置输出“sin.pdf” 
gnuplot>replot 
gnuplot>unset output#关闭输出文件(否则保持打开状态) 
gnuplot>unset终端#返回默认交互式终端 
gnuplot>

如果起点不是默认的交互式终端,则可以使用流行音乐

gnuplot>设置终端推送#保存当前终端类型(可能不是默认值) 
gnuplot>设置终端pdf 
gnuplot>设置“a.pdf” 
gnuplot>replot 
gnuplot>取消设置 
gnuplot>设置术语pop#恢复保存的终端类型

一些交互式终端类型(赢,wxt,qt)在工具栏上提供打印机图标。此小部件打印当前绘图或使用通用系统工具而不是使用不同的gnuplot终端类型将其保存到文件中。也就是说,你得到的文件在打印菜单中选择“保存到png”可能与您从中获得的文件不同集合项png;复制点;.通常是一个图以这种方式保存将比通过更改从命令行生成的绘图更接近地再现屏幕图像终端类型。

3.3 如何在我最喜欢的文字处理器中包含图形?

基本上,你用文字处理器可以理解的格式将绘图保存到文件中,然后从中读取绘图你的文字处理器。向量格式(PostScript、emf、svg、pdf、TeX、LaTeX)应首选,因为您可以缩放稍后将图形调整到合适的大小。

使用固定期限以获取可用文件格式的列表。

许多字处理器可以将封装的PostScript(*.eps)用于图形。您可以在中生成eps输出gnuplot卫星使用任何一个设置终端postscript eps设置终端epscairo.格努普洛特不在输出中嵌入位图预览图像eps文件。为了适应某些文字处理器,您可能需要使用外部工具自己添加预览图像在将其导入文字处理器之前。

包括LibreOffice和MicrosoftOffice套件在内的一些应用程序可以处理EMF格式的矢量图像。这些可以由电动势终端生成,也可以选择“另存为电动势…”从windows端子图的工具栏窗口。

LibreOffice还可以读取SVG以及AutoCAD的dxf格式。

有很多方法可以使用gnuplot生成要包含在TeX或LaTeX文档中的图形。一些终端产生*.tex片段用于直接包裹;其他人生成*.eps、*.pdf、*.png输出,使用\includegraphics命令。epslatex和cairolatex终端生成图形文件(*.eps或*.pdf)和*.tex引用它的文档文件。tikz终端在处理输出时生成pdf文件的全文和图形使用pdflatex。

大多数文字处理器都可以导入位图图像(png、pbm等)。这种方法的缺点是您的绘图受生成时绘图大小的限制gnuplot卫星,通常分辨率低得多文档最终会被打印出来。

3.4 如何编辑或后期处理gnuplot卫星图表?

这取决于您使用的端子类型。

3.5 如何保存和恢复当前设置?

使用保存“文件名”加载“文件名”命令。

3.6 我可以将命令和数据放在一个文件中吗?

格努普洛特版本5支持“此处文档”格式的命名数据块:

gnuplot>$DATABLOCK<<EOD 
猫4 2 
狗1 4 
爆炸物处理 
gnuplot>使用带标签的2:3:1绘制$DATABLOCK

定义命名块后,可以根据需要多次使用它。

数据也可以使用伪文件“-”作为绘图命令的一部分在线提供。在这种情况下,只能使用数据一次。

gnuplot>绘图“-” 
1 1 
2 4 
3 9 
e(电子)

3.7 如何在绘图之前通过过滤器运行数据?

如果您的操作系统支持popen()函数,则可以通过其他程序或系统实用程序过滤输入数据作为的一部分情节命令。

gnuplot>plot“<sort+2 file.in”#在第2列上预排序数据

此机制与unix派生的命令行实用程序结合使用时特别强大awk公司,分类格雷普.

3.8 我能用吗gnuplot卫星我自己程序的例程?

在支持管道的系统上,可以通过管道将命令传递到gnuplot卫星来自其他程序。许多使用gnuplot作为图形引擎,如Octave(网址:http://www.octave.org),使用此方法。这也可以从cgi脚本驱动gnuplot卫星来自基于表单的网页。

4 自定义绘图的外观

4.1 如何检查或更改默认颜色、线条和点属性?

当您发布情节溅射具有多个组件的命令,gnuplot卫星默认情况下将在集合中循环颜色和线型。可以通过在打印中提供特定的颜色或线型特性来替代此设置命令或您可以更改默认顺序。下面的每个命令都接受许多其他命令参数

测试显示当前端子类型的活动颜色、线和点属性等

设置颜色设置单色选择预定义的序列。

设置线型更改现有线型的特性或添加新线型。

设置调色板更改用于pm3d模式(如热图)的调色板。

设置点大小按附加因子缩放所有点

4.2 去除隐藏线或表面

有两个相关命令。设置hidden3d影响使用三维打印样式绘制的曲面血溅。。。具有 线它还剪辑由其他三维打印样式创建的线段,这些线段被这些曲面遮挡。然而它不处理中生成的绘图pm3d系统模式。这包括样式使用pm3d,使用zerror,带盒子,以及生成的杂项绘图元素设置pm3d已生效。清除这些隐藏表面取而代之的是,通过按照与观众的距离顺序绘制,由设置pm3d 去透器.

4.3 如何强制页面上图形边框的精确位置?

根据其在页码:

将lmargin设置为屏幕0.05 
将bmargin设置为屏幕0.05 
将rmargin设置为屏幕0.95 
在屏幕0.95处设置边缘

4.4 在单个页面上相邻排列多个绘图

您需要的命令是设置多点程序可以在规则网格上放置指定数量的绘图(设置多图布局<行>、<列>。。。)或者您可以使用设置原点设置 大小.

4.5 如何请求轴的1:1缩放?

尝试设置尺寸正方形设置视图等于xy.

4.6 适用于彩色和黑白打印的调色板?

尝试设置调色板长方体.

4.7 如何跳过数据点?

通过指定?作为数据值,如

        1 2 
        2 3 
        3 ? 
        4 5

另请参见集合丢失。另请参阅设置数据文件注释用于在数据文件中指定注释字符。

4.8 如何绘制每个n点?

这可以通过命令的各种选项指定情节例如每隔2绘制“a.dat”。如果你想画一条线穿过每一点,但只在每n点画一个点符号,然后尝试用linespoints pointinterval绘制“a.dat” n个.

4.9 如何绘制垂直线?

根据上下文,主要方法有:

4.10 Y轴标签位置错误和/或左边距太大

格努普洛特无法估计打印Y轴标签时需要在绘图左侧保留多少空间水平(设置ylabel norotate). 如果标签字符串中有TeX标记,则尤其如此问题是您可以将文本放在编号标签中,而不是放在伊拉贝尔.

Y=1001年 
设置标签Y“$”运算符名称{“mathfrak{Im}}S_{21}$” 
将标签Y诺罗特设置为图形0.0,0.5偏移-6

5 人们经常询问的情节类型

5.1 动画

格努普洛特5.4版之前的版本只支持直接输出动画的一种终端类型(gif)文件:

设置终端gif动画{delay<time>}{loop<N>}{optimize}

开发版本(5.5)还支持webp格式的动画。看看吧http://gnuplot.sourceforge.net/demo/animate2.html在演示集合中。

5.2 隐式定义图

无法在中直接绘制隐式图形或曲线gnuplot卫星。但有一个解决方法。

gnuplot>#示例。将定义放在以下行中: 
gnuplot>f(x,y)=y-x**2/tan(y) 
gnuplot>设置轮廓基准 
gnuplot>设置cntrparam级别离散0.0 
gnuplot>未设置曲面 
gnuplot>集合表$TEMP 
gnuplot>样条线f(x,y) 
gnuplot>取消设置表格 
gnuplot>绘图$TEMP wl

技巧是绘制曲面z=f(x,y)的单个轮廓线z=0,并将生成的轮廓曲线存储到临时文件或数据块。

5.3 如何填充两个函数之间的区域

可以使用带有打印样式的伪文件“+”获得两个函数f(x)和g(x)之间具有填充区域的打印填充曲线.

f(x)=cos(x);g(x)=sin(x) 
设置xrange[0:pi] 
使用1:(f($1)):(g($1

请注意,此代码片段填充了两条曲线之间的区域,而不管哪条曲线高于另一条。如果你只想填充满足g(x)<f(x)或f(x在上面在下面之后填充曲线.

5.4 绘制三维数据的二维投影

命令设置视图地图调整视角和缩放比例,以便使用溅射与2D图形的布局大致相同情节,x轴水平,y轴垂直。版本5.4命令设置视图投影xz集合视图投影yz类似地,为xz或yz的二维投影初始化布局平面,z轴水平,x或y轴垂直。

5.5 如何在pm3d地图/曲面上覆盖点/点散点图

使用明确的pm3d样式的选项:

gnuplot>设置pm3d显式 
gnuplot>带pm3d的splot x,带点的x*y

5.6 如何生成带标签的轮廓

在等高线图中标记单个等高线,用于需要特殊技巧和额外的处理步骤gnuplot卫星版本4。在版本5中,它要简单得多。绘制等高线两次,一次为“带线”,一次是“带标签”。使标签竖立使用它可能会有所帮助

设置样式文本框不透明noborder 
设置轮廓 
用线splot“DATA”,用方框中的标签splot'DATA'

5.7 gnuplot卫星支持条形图/直方图/方框?

格努普洛特支持各种聚集和堆叠直方图样式,以显示预先制表的数据。它还提供了一些选项用于将原始数据累积到容器中,而容器又可以显示为条形图。请参阅文档以了解箱子和用于平滑频率.

5.8 gnuplot卫星支持饼图?季度时间表?

饼图有点难gnuplot卫星,但请参阅http://gnuplot.sourceforge.net/demo/circles.html,或者看看http://gnuplot-tricks.blogspot.com/2009/08/pie-charts-entirely-in-gnuplot.html.

演示集合包含一个简单甘特图示例。

5.9 gnuplot卫星支持单个绘图上的多个y轴?

对。2D绘图可以在底部(x1)和顶部(x2)有单独的x轴,在左侧(y1)和右侧(y2)。版本5提供打印模式带平行轴允许任意数量的附加y轴定义。

5.10 如何绘制由三角形面组成的实体?

版本5.4:打印样式使用多边形可以处理多边形面(三角形、矩形、八角形…)。在早期版本中你能做的最好的事就是在一个文件中描述3D对象的彩色面,组织方式如下:

#三角形1 
x0 y0 z0 
x1 y1 z1 
 
x2 y2 z2<c2> 
x2 y2 z2<c2> 
 
 
#三角形2 
x y z轴 
...

请注意单空行和双空行。还要注意三角形实际上有四个顶点,其中两个是完全相同。这是因为pm3d代码只知道如何处理四边形。<cN>是可选的颜色。

然后通过(splot的任意一个)绘制:

设置pm3d 
设置样式数据pm3d 
设置pm3d解复用器 
splot“facets.dat” 
使用1:2:3:4分割“facets_with_color.dat”

Gnuplot不是一个三维建模程序。depthorder渲染不会处理互穿面。对于真正的3D渲染时,使用光线追踪程序可能会更好。

5.11 如何在非重叠区域中绘制两个函数?

在绘制每个函数之前,给出所需的范围。例如,绘制实验数据和涵盖域的两个不同部分的不同功能模型f1和f2:

gnuplot>set autoscale x#从数据中获取x范围 
gnuplot>绘制“数据”,[*:0]f1(x),[0:*]f2(x)

5.12 如何使用splot绘制线(而不是网格)?

如果splot的数据输入安排为每行包含相同数量的数据点(使用空白行默认情况下,splot会将数据视为描述曲面。如果要绘制单条线,尝试以下几种组合未凝固表面,设置曲面显式,绘图。。。无表面.

5.13 如何绘制一个函数f(x,y),该函数在x-y平面上由其他函数限定?

有一种方法:

gnuplot>f(x,y)=x**2+y**2 
gnuplot>x(u)=3*u 
gnuplot>yu(x)=x**2 
gnuplot>yl(x)=-x**2 
gnuplot>设置参数 
gnuplot>设置cont 
gnuplot>splot[0:1][0:1]u,yl(x(u))+(yu(x(u))-yl(x(u) 
>f(x(u),(yu(x(u))-yl(x(w)))*v)

6 文本格式和特殊符号

6.1 使用“增强文本”模式的文本标记

格努普洛特版本5默认为“增强文本”模式,其中文本标记由一组特殊字符表示嵌入文本中。





增强型文本控制代码




控制例子结果解释




^ 一个^x x个 上标
_ a_x(x) x个 下标
@ 一个@^b{cd} 光盘b条 幻影盒(无宽度)
& 天&{空格}b d日 b条插入指定长度的空格
~ ~a{.8-} ã 在“a”上套印“-”,提高了0.8
       乘以当前字体大小
  {/次数美国广播公司} 美国广播公司以当前大小打印abc字体时间
  {/次数*2美国广播公司} 美国广播公司以两倍于当前大小的字体Times打印abc
  {/时间:斜体美国广播公司} 美国广播公司用斜体字体Times打印abc
  {/宋体:粗体=20美国广播公司}美国广播公司用粗体Arial字体20打印abc




6.2 如何打开或关闭文本标记?

要从此处理模式中排除特定文本字符串,请使用关键字无增强例如,我们不想将文件名解释为下标:

设置标题“比较file_1.dat和file_2.dat”未增强

6.3 UTF-8是我所有特殊字符问题的答案吗?

对。

不幸的是,在某些情况下使用它非常麻烦,尤其是在生成PostScript输出时。如果您在UTF-8计算环境中工作,您可能不需要在gnuplot使用它。如果不是,那么您仍然可以告诉gnuplots在创建输出时使用UTF-8:集合编码 utf8接口.

如果您不能在键盘上输入UTF-8字符,则必须在gnuplot之外解决这个问题。或者你可以使用八进制转义序列以字节-字节或(5.4版)unicode转义序列的形式键入它们,如'U+221E(). 如果您的键盘确实会生成UTF-8,但您不知道什么击键会生成特定字符可能适合您桌面的字符选择应用程序(例如KDEkcharselect公司,或GNOME字符 地图).

6.4 如果我需要h-bar(普朗克常数)怎么办?

最简单的方法是使用UTF-8字体,然后键入字符(Unicode'U+210F)直接。

PostScript:PostScript不容易处理utf8,因此必须使用基于增强文本标记和可能是一种特殊的符号字体:

 @{/=56 -} {/=24h}(小时) {/=8@{/符号=24 -} _{/=14h}}在后者中,“-”(/Symbol中的长符号)为非空格和24-pt。14-pt“h”由8-pt空格(即“_”之前的空格)偏移,但较小,因为它写为下标。但这些看起来不像我们习惯的hbar,因为它是水平的,而不是倾斜。另一种可能性是{/=14@^{/符号=10 -}{/=14h}}.

通过使用AMS-LaTeX PostScript字体,可以很容易地设置减少的普朗克常数,可从http://www.ams.org/tex/amsfonts.html(也包括在许多LaTeX发行版中)。格努普洛特(请参见帮助字体路径)和PostScript解释器(通常是Ghostscript)必须知道文件的位置msbm10.pfb型(或msbm10.pfa)驻留。使用{/MSBM10 ' 175}生产'hs闪烁这是一个“h”加上斜杠。标准'赫巴尔(水平条)具有八进制代码176。请注意,h-bar仅以斜体形式存在类型。

6.5 如果我需要太阳质量符号怎么办?

与普朗克常量一样,最简单的方法是使用UTF-8字体,并在字符(Unicode'U+2299; “圆圈点运算符”)。在(Unicode码位)处非常相似的符号'U+2609; “太阳”)可能是均匀的更好,但不是很多字体都能提供。

6.6 如何使用希腊字母或其他特殊符号?

老式方法是使用增强的文本模式切换到专用字体,例如Adobe“Symbol”字体,该字体映射要将字符添加到ascii字母“a”、“b”等上。这对于PostScript输出可能仍然是必需的。然而,有很多更简单的方法是选择UTF-8编码并像输入其他文本一样输入特殊字符。这避免了需要更改字体,并允许您访问所有unicode代码点,包括CJK字符集。实际打印或查看由生成的文件gnuplot卫星您仍然需要在计算机或输出设备上安装适当的字体。格努普洛特它本身不提供字体。

各种LaTeX端子类型(乳胶、epslatex、tikz、context、cairolatex)将文本生成交给LaTeX。在这种情况下您可以使用普通的LaTeX标记,如$'字母{3}$.

6.7 如何包含重音字符?

如果使用非utf8编码,则应使用8位字符代码和适当的编码获取诸如ü或之类的重音字符的选项ˆn  在您的标签中。您可以用转义序列表示8位代码。请参见以下示例:

gnuplot>设置编码iso8859_1 
gnuplot>设置标题“M'374nchner Bierverbrauch'374ber die Jahre” 
gnuplot>绘制“bier.dat”u1:2

其他人都应该使用UTF-8,因为这些都是普通字符。

6.8 我可以在绘图中输入不同的文本大小吗?

大多数端子类型都允许您指定起始字体的字面和大小。“增强文本”模式允许您更改打印中的字体、文本大小、粗体和斜体样式。

7 其他

7.1 gnuplot卫星支持图形格式XXX的驱动程序?

要查看安装的可用图形驱动程序列表gnuplot卫星,类型固定期限.

一些图形驱动程序包含在正态分布中,但默认情况下不构建。如果你想使用它们,你会必须从源代码重新编译。

7.2 我发现了一个虫子,我该怎么办?

首先,试着看看它是否真的是一个bug,或者它是否是一个你可以用一些晦涩难懂的东西来关闭的功能设置命令。

接下来,看看您是否有旧版本的gnuplot卫星; 如果是这样的话,很可能该错误已在新版本中修复释放。

在提交错误报告之前,请检查上游源中有问题的错误是否已修复自当前版本发布以来。这些在bug跟踪器上标记为“pending-fixed”。

如果在检查这些内容后,您仍然确信存在错误,请使用错误跟踪程序报告它,网址为http://sourceforge.net/p/gnuplot/bugs。请确保包括的版本gnuplot卫星(包括补丁级别)和运行它的操作系统。如果你能提供一个简单的脚本来重现错误。

sourceforge上的跟踪程序用于报告错误并收集将在后续版本中出现的错误修复。各种在线论坛是询问变通方案或实际解决方案的更好场所gnuplot卫星相关的问题。

7.3 我可以用gnuplot卫星? 或什么是超越gnuplot卫星?

gnuplot卫星就其本身而言,不太适合进行大量的数值计算。另一方面,它可以轻松处理非常大的数据集(数百万点)。如果您有一个特定的应用程序,其限制是gnuplot在评估非普通函数,可能值得用C或C++编写此函数,并使其成为gnuplot可以加载的插件呼叫。

如果需要密集的数值计算,您可能会查看的程序:

八度音阶(网址:http://www.octave.org)是一种主要用于数值计算的高级语言。Octave已获得许可在GPL下,原则上,它是一个免费的Matlab克隆。它提供了一个方便的命令行界面,用于解决线性和非线性问题的数值求解。顺便说一下,八度音阶使用gnuplot卫星作为它的绘图引擎,所以您可以进行数据处理位于顶部的程序gnuplot卫星.

科学实验室(http://www.scilab.org网站)是另一个开源替代方案matlab软件.

朱莉娅+加斯顿(http://github.com/mbaz/Gaston.jl)Julia语言用于数值分析和计算科学。Gaston是一个julia包,为gnuplot提供图形输出接口。

7.4 如果我需要gnuplot没有的特殊函数呢?

请参见上文。您可能需要使用其他程序或编写自定义插件。

7.5 如何在交互式终端中使用热键

大多数交互式终端都支持预定义和用户定义的热键来重新定位、切换绘图元素、更改轴缩放等。点击小时在活动的gnuplot绘图窗口中获取热键列表。阅读帮助鼠标帮助绑定对于更多信息。

7.6 我想帮助开发的下一个版本gnuplot卫星.我能做什么?

加入gnuplot卫星通过发送包含该行的邮件来测试邮件列表订阅gnuplot-beta在体内邮件的(非主题)收件人邮箱://Majordomo@列表.sourceforge.net.

8 常见问题

8.1 救命!我的字体都不起作用。

Gnuplot本身不进行字体处理;这必须留给各个设备支持库。不幸的是,这意味着不同的终端类型在查找字体时需要不同的帮助。这里有一些快速提示。对于更多详细信息,请参阅gnuplot文档,了解您遇到问题的特定终端类型带有。

png/jpeg/gif
这些终端类型使用libgd支持库,该库在环境变量GDFONTPATH。整理好libgd字体路径后,您可能需要设置gnuplot的默认字体。例如:环境变量GNUPLOT_DEFAULT_GDFONT(GNUPLO_TEFAULT_GDFONT)威达纳
邮递
在打印文档之前,不会解析PostScript字体名称。Gnuplot不知道什么是字体可供打印机使用,因此它将接受您指定的任何字体名称。但是,可以绑定字体带有gnuplot输出;请参阅gnuplot的内部命令“help set term post”给出的说明字体文件”。
高级副总裁
字体处理取决于视图。
x11个
x11终端使用普通的x11字体服务器机制。唯一棘手的是为了使用多字节字体你必须明确这样说:
set term x11字体“mbfont:sazanami mincho,vera,20”

从工具栏的“选项”下拉菜单中选择“选择字体…”。
wxt,夸脱
在linux系统上,这些终端依赖于系统的字体配置实用程序。

8.2 qt终端会话中的第一个绘图失败或布局错误

您还可能会收到一条关于“字体初始化速度慢”的错误消息。这是因为qt依赖于共享的系统字体缓存。如果您请求的字体无人使用,则需要一段时间才能更新缓存。这主要发生在Windows或OSX,因为这些系统上的其他程序倾向于使用不同的字体机制,所以相关的字体缓存可能是为空。尝试使用命令行选项调用gnuplot–缓慢.

8.3 数据文件中的Pm3d splot不绘制任何内容

你知道的设置pm3d;splot“a.dat”除颜色框外,没有其他绘图。也许在后面的两行之间没有空行扫描数据文件中的等值线?添加空行!如果您对这意味着什么感到好奇,请毫不犹豫地查看以下文件演示/玻璃.dat演示/triangle.dat在gnuplot演示目录中。

您可以发现以下awk脚本很有用(例如。添加空白.awk)它会在任何时候向数据文件添加空行第一列中的数字更改:

/^[[:blank:]]*#/{next}#忽略注释(以#开头的行) 
NF<3{next}#忽略至少没有3列的行 
$1 !=prev{printf“'n”;prev=$1}#打印空白行 
{print}#打印行

然后,要么通过命令预处理数据文件awk-f addblanks.awk<a.dat或在unixish下打印数据文件平台由
gnuplot>splot“<awk-f addblanks.awk a.dat”.

8.4 为什么gnuplot卫星忽略我的小数字?

出于某些目的格努普洛特将小于1e-08的数字视为零。因此,如果你试图绘制一个非常如果数字很小,则可以绘制为零。更糟糕的是,如果你在对数刻度上绘图,它们就会偏离刻度。或者,如果整个数字集为“零”,您的范围可能被视为空:

gnuplot>绘制“test1” 
警告:空y范围[4.047e-19:3e-11],调整为[-1:1] 
gnuplot>设置yrange[4e-19:3e-11] 
gnuplot>绘制“test1” 
              ^ 
y范围小于“零”

解决方案是改变gnuplot的“零”概念:

gnuplot>设置零1e-20

有关详细信息,请键入帮助设置零.

8.5 当我回复调整大小一个multiplot我只得到一个片段

格努普洛特只保留足够的信息以重新生成最近的情节溅射命令。为了重现整个multiplot需要将生成它的完整命令序列保存到脚本文件中。然后你可以负载将脚本转换为gnuplot卫星将图形重新打印到不同端子或输出所需的次数文件夹。

当您调整交互式终端窗口中显示的multiplot的大小时,也会出现同样的问题,因为resize事件通常会触发replot。这个夸脱wxt(文字)终端在工具箱小部件中提供了一个切换,用于禁止此replot调整大小。这个x11个终端提供终端选项设置术语x11 noreplotonresize.

8.6 我的公式(比如1/3)给了我毫无意义的结果!发生什么事了?

格努普洛特对整数表达式执行整数运算,而不是浮点运算。例如,表达式1/3计算结果为零。如果需要浮点表达式,请为浮点数提供尾随点。例子:

gnuplot>打印1/3 
                0 
gnuplot>打印1。/3。 
                0.333333

这种计算整数表达式的方法由C和Fortran共享。

8.7 我的输出文件不完整!

您可能需要刷新输出并用设置输出未设置输出).

某些输出格式(postscript、pdf、latex…)可以在单个输出文件中包含多页绘图。对于这些输出模式下,gnuplot会在每次绘图后使文件保持打开状态,以便您可以向其中添加其他绘图在您发出设置未设置输出命令,选择不同的端子类型(设置 学期),或退出gnuplot。

8.8 在管道中或从脚本中调用gnuplot不会在我的屏幕上显示绘图!

一个常见的原因是gnuplot卫星绘图后立即退出,gnuplot退出时绘图窗口关闭发生得太快了,你看不到情节。有几种解决方案:

下面是一个简短的Perl-script,其中显示了两个修复:

#!/usr/local/bin/perl-w 
open(GP,“|/usr/local/bin/gnuplot-persist”)或die“no gnuplot”; 
#每次写入后强制刷新缓冲区 
使用FileHandle; 
GP->自动冲洗(1); 
打印GP,“设置项x11;用行'n绘制sin(x)”; 
打印GP,“暂停鼠标关闭”; 
关闭GP

9 信用

本常见问题解答最初由约翰·弗莱彻(John Fletcher)编写,由罗素·朗(Russell Lang)、约翰·坎贝尔(John Campbell)、大卫·科茨(David Kotz)、罗伯(Rob)提供意见坎宁安、丹尼尔·勒沃特和亚历克斯·吴。Thomas Koenig根据Alex Woo的草稿重新编写,并进行了更正和添加了Alex Woo、John Campbell、Russell Lang、David Kotz和Daniel Lewart的许多更正。阿盖恩返工gnuplot卫星3.7 Alexander Mai和Juergen诉Hagen案,经Lars Hecking、Hans-Bernhard更正Broecker等人。修订日期:gnuplot卫星彼得·米库利克和伊桑·梅里特的第四版。修订日期:gnuplot卫星版本5由伊桑·梅里特。