@@ -196,7 +196,7 @@ replot cos(x) with points pointtype 2
196
196
197
197
plot [-pi:pi] sin(x), cos(x) with points pointtype 2
198
198
```
199
- > replot 命令,它执行先前的 plot 命令。当您绘制曲线图且需要不断对该图进行修改以添加想要的特征时 ,此命令会非常有用。另外,replot 使您可以添加更多的图 。尝试输入 replot cos(x)。依照语法,该命令等同于 plot sin(x), cos(x)。replot 就是获取先前的绘图字符串,添加必要的逗号,然后附加输入给它的其余部分。
199
+ > replot 命令,它执行先前的 plot 命令。当你绘制曲线图且需要不断对该图进行修改以添加想要的特征时 ,此命令会非常有用。另外,replot 使你可以添加更多的图 。尝试输入 replot cos(x)。依照语法,该命令等同于 plot sin(x), cos(x)。replot 就是获取先前的绘图字符串,添加必要的逗号,然后附加输入给它的其余部分。
200
200
201
201
![ ] ( ../../../../assets/img/Develop/可视化/gnuplot/3.png )
202
202
@@ -252,7 +252,7 @@ plot sin(x) with linespoints pointtype 5, cos(x) w boxes lt 4
252
252
253
253
![ ] ( ../../../../assets/img/Develop/可视化/gnuplot/7.png )
254
254
255
- > with 子句使您可以详细而精确地指定线的样式 。在本例中,我们说明两种有用的样式。第一种样式 linespoints 通常在对数据绘图时非常有用,它在涉及的每个示例或数据点处标记一个点,并使用线性插值法连接连续的点。这里我们另外指定点类型为 5,它选择终端允许的第五种点。第二种样式 boxes 更适合绘制直方图数据。注意我们如何在 cos(x) 曲线中将 with 缩写成 w。类似地,lt 是 linetype 的缩写,是另一个特定于终端的设置,它选择终端可以绘制的四种线。不必说,您可以使用 pt 代替冗长的 pointtype。如果想在多条线中使用相同的绘图样式(在一个 plot 命令中或在多个 plot 命令中),可以使用 set 命令设置绘图样式:set style function linespoints。要更改用于绘制与函数相对的数据集合的样式,使用 set style data linespoints。
255
+ > with 子句使你可以详细而精确地指定线的样式 。在本例中,我们说明两种有用的样式。第一种样式 linespoints 通常在对数据绘图时非常有用,它在涉及的每个示例或数据点处标记一个点,并使用线性插值法连接连续的点。这里我们另外指定点类型为 5,它选择终端允许的第五种点。第二种样式 boxes 更适合绘制直方图数据。注意我们如何在 cos(x) 曲线中将 with 缩写成 w。类似地,lt 是 linetype 的缩写,是另一个特定于终端的设置,它选择终端可以绘制的四种线。不必说,你可以使用 pt 代替冗长的 pointtype。如果想在多条线中使用相同的绘图样式(在一个 plot 命令中或在多个 plot 命令中),可以使用 set 命令设置绘图样式:set style function linespoints。要更改用于绘制与函数相对的数据集合的样式,使用 set style data linespoints。
256
256
257
257
> 当绘制两条或多条曲线时,我们需要关键字或图例来对它们进行区分。默认情况下,关键字在右上角;但是如果它妨碍了图,可以将关键字放到其他位置 。如果愿意,甚至可以放到图外。
258
258
@@ -265,7 +265,7 @@ plot [-pi:pi] sin(x) title 'sinusoid' with linespoints pointtype 5, cos(x) t 'co
265
265
266
266
![ ] ( ../../../../assets/img/Develop/可视化/gnuplot/8.png )
267
267
268
- > 上面,我们在同一图中绘制了正弦和余弦曲线。gnuplot 使您还可以绘制多个图 ,这样它们可以并排显示在同一输出屏幕或文件中。在某些排版系统中,以一个文件的形式包含两个图形比分别包含两个图形要更容易。
268
+ > 上面,我们在同一图中绘制了正弦和余弦曲线。gnuplot 使你还可以绘制多个图 ,这样它们可以并排显示在同一输出屏幕或文件中。在某些排版系统中,以一个文件的形式包含两个图形比分别包含两个图形要更容易。
269
269
270
270
** Multiplot 示例**
271
271
```
@@ -317,11 +317,11 @@ Plot 'data.txt'
317
317
318
318
** 逗号分隔**
319
319
320
- 有时,我们的数据文件中各个数据之间是用逗号作为分隔符的,比如标准的以“CSV”为后缀的那种数据文件。如果在逗号之后没有空格分隔,默认情况下gnuplot是无法直接读取的 。
320
+ 有时,我们的数据文件中各个数据之间是用逗号作为分隔符的,比如标准的以 “CSV” 为后缀的那种数据文件。如果在逗号之后没有空格分隔,默认情况下 gnuplot 是无法直接读取的 。
321
321
322
322
这时可以有两种方案,第一种是提前处理一下数据文件,比如将逗号替换为空格,随便一个文本处理软件都能很轻松的做这种替换。但是有时我们有很多这样的数据文件,每个都这样处理一下也挺麻烦的。
323
323
324
- 第二种方法就是在gnuplot中给出文件分隔符的信息,让gnuplot能够读懂我们的文件 。下面将要说的就是这种方法。
324
+ 第二种方法就是在 gnuplot 中给出文件分隔符的信息,让 gnuplot 能够读懂我们的文件 。下面将要说的就是这种方法。
325
325
326
326
比如我们有如下的文件:
327
327
```
@@ -393,7 +393,7 @@ Plot 'data.txt'
393
393
plot 'sample.csv'
394
394
```
395
395
396
- gnuplot 只解析出了第一列的数据。如果我们告诉gnuplot我们的数据有两列会怎样呢 ?
396
+ gnuplot 只解析出了第一列的数据。如果我们告诉 gnuplot 我们的数据有两列会怎样呢 ?
397
397
```
398
398
Plot 'sample.csv' using 1:2
399
399
```
@@ -404,13 +404,13 @@ gnuplot 会报错
404
404
plot 'sample.csv' using 1:2 "%lf,%lf"
405
405
```
406
406
407
- 格式字符串的格式与C语言中scanf的格式字符串是类似的,实际上gnuplot最后就是用的scanf函数来读取数据 。%lf 表示按照 double型浮点数类型来读取。需要注意的是gnuplot的格式化字符串不支持 %f。
407
+ 格式字符串的格式与 C 语言中 scanf 的格式字符串是类似的,实际上 gnuplot 最后就是用的 scanf 函数来读取数据 。%lf 表示按照 double 型浮点数类型来读取。需要注意的是 gnuplot 的格式化字符串不支持 %f。
408
408
409
409
---
410
410
411
411
# 输出文件
412
412
413
- 在启动时,您可能注意到终端类型设置为 X11。gnuplot采用标准设计 ,可以在多个终端设备上绘图。这包括直接打印到多种打印机中,包括 Epson、HP 和 Imagen 打印机。它甚至可以在伪设备中绘图,如 postscript 和 png。这主要涉及生成输出文件,而不是可查看文件或打印输出。这是将您的图表包含在其他报表中的一种技巧 。
413
+ 在启动时,终端类型设置为 X11。gnuplot 采用标准设计 ,可以在多个终端设备上绘图。这包括直接打印到多种打印机中,包括 Epson、HP 和 Imagen 打印机。它甚至可以在伪设备中绘图,如 postscript 和 png。这主要涉及生成输出文件,而不是可查看文件或打印输出。这是将你的图表包含在其他报表中的一种技巧 。
414
414
415
415
** 设置输出和终端类型**
416
416
@@ -423,9 +423,9 @@ set output 'output.png'
423
423
plot sin(x)
424
424
```
425
425
426
- 现在,文件 output.png 中有了您刚才绘制的图 。
426
+ 现在,文件 output.png 中有了刚才绘制的图 。
427
427
428
- 所有终端在能力上都不相同。其中的一些(如 LaTeX)可能不支持文本的旋转,所以如果您像我们前面那样设置 ylabel,在不同的终端中可能显示不一样。换句话说,您可以在 LaTeX 的特定终端中使用 LaTex 命令。例如,set ylabel $sin(\\\\ theta)$(注意我们使用两个反斜杠产生一个 LaTex 所需的反斜杠 —— gnuplot 在将双引号中所括的字符串传送到终端驱动程序之前,先对其进行反斜杠处理)。现在,您可以使用 \\ input{output.tex} 将输出文件包含在 LaTeX 文件中。要在 PostScript 终端中获得相同的结果,使用相应的 PostScript 命令:{/Symbol q}。在 enhanced PostScript 和 LaTeX 中,您可以使用表示法 x^{superscript} 和 x_ {subscript} 得到上标文字。还要注意缩写的终端和输出命令:
428
+ 所有终端在能力上都不相同。其中的一些(如 LaTeX)可能不支持文本的旋转,所以如果你像我们前面那样设置 ylabel,在不同的终端中可能显示不一样。换句话说,你可以在 LaTeX 的特定终端中使用 LaTex 命令。例如,set ylabel $sin(\\\\ theta)$(注意我们使用两个反斜杠产生一个 LaTex 所需的反斜杠 —— gnuplot 在将双引号中所括的字符串传送到终端驱动程序之前,先对其进行反斜杠处理)。现在,你可以使用 \\ input{output.tex} 将输出文件包含在 LaTeX 文件中。要在 PostScript 终端中获得相同的结果,使用相应的 PostScript 命令:{/Symbol q}。在 enhanced PostScript 和 LaTeX 中,你可以使用表示法 x^{superscript} 和 x_ {subscript} 得到上标文字。还要注意缩写的终端和输出命令:
429
429
430
430
** eps 驱动程序的能力**
431
431
```
@@ -456,7 +456,7 @@ set dgrid3d 100,100
456
456
# 设置画等高线
457
457
set contour
458
458
459
- # 设置等高线的疏密和范围,数据从 -0.2到0.2中间每隔0.01画一条线
459
+ # 设置等高线的疏密和范围,数据从 -0.2 到 0.2 中间每隔 0.01 画一条线
460
460
set cntrparam levels incremental -0.9,0.1,0.9
461
461
462
462
# 去掉上面的三维图形
@@ -468,7 +468,7 @@ splot [-pi:pi] [-pi:pi] sin(x)*cos(y)
468
468
469
469
![ ] ( ../../../../assets/img/Develop/可视化/gnuplot/11.png )
470
470
471
- ** 画pm3d图 **
471
+ ** 画 pm3d 图 **
472
472
```
473
473
set pm3d
474
474
set isosamples 50,50
@@ -494,9 +494,9 @@ reset
494
494
495
495
# 绘制时间序列图
496
496
497
- 通常我们利用数据文件绘图时,XY坐标的值都是实数,也就是我们要绘制图形的函数是R到R的映射 。可有时横轴或纵轴的数据是时间值,时间的格式每次可能还都不太一样。这时我们就需要特殊设置一下 gnuplot 了。
497
+ 通常我们利用数据文件绘图时,XY 坐标的值都是实数,也就是我们要绘制图形的函数是 R 到 R 的映射 。可有时横轴或纵轴的数据是时间值,时间的格式每次可能还都不太一样。这时我们就需要特殊设置一下 gnuplot 了。
498
498
499
- 假设我们有数据文件“timedat.dat”,文件的内容如下。
499
+ 假设我们有数据文件 “timedat.dat”, 文件的内容如下。
500
500
501
501
```
502
502
#日/月/年 值
@@ -507,7 +507,7 @@ reset
507
507
28/10/93 1000
508
508
```
509
509
510
- 可以看到,横坐标是时间值,需要将这个信息告诉gnuplot 。利用如下的命令。
510
+ 可以看到,横坐标是时间值,需要将这个信息告诉 gnuplot 。利用如下的命令。
511
511
```
512
512
set xdata time
513
513
```
@@ -545,7 +545,7 @@ gnuplot 中可以利用 smooth 关键字实现数据的平滑,平滑的方法
545
545
- frequency : frequency 首先将数据点按照 x 的大小关系排序,但是如果多个数据点的 x 值相同的话则将这些数据点的 y 值叠加。
546
546
- bezier : bezier 用 n 次 的 bezier 曲线连接数据点,n 是数据点的个数。曲线保证过头尾两个数据点,但是中间的数据点一般就不会经过了。这样的曲线足够光滑但不能保证通过所有的数据点。
547
547
- sbezier : sbezier 相当于首先应用 unique 将数据排序并将相同 x 值的数据取平均,然后应用 bezier。
548
- - csplines : csplines 相当于首先应用 unique 将数据排序并将相同 x 值的数据取平均,然后应用自然样条插值。获得的曲线保证通过所有的数据点(unique 处理过的数据点)。
548
+ - csplines : csplines 相当于首先应用 unique 将数据排序并将相同 x 值的数据取平均,然后应用自然样条插值。获得的曲线保证通过所有的数据点 (unique 处理过的数据点)。
549
549
- acsplines : acsplines 相当于首先应用 unique 将数据排序并将相同 x 值的数据取平均,然后应用加权的自然样条插值。加权值通过 using 关键字指定。加权后的曲线不一定通过所有的数据点。权值越大就越接近数据点。
550
550
551
551
下面是一个例子,数据文件 "price.dat"
0 commit comments