通过qt将pdf输出保存在gnuplot中

Saving pdf output in gnuplot via qt

我试图通过使用以下代码,使用pdfcairo终端将gnuplot图的输出另存为pdf:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
reset
set terminal qt 1 noraise enhanced
set xlabel"Time (sec)"
set ylabel"Displacement (m), Velocity (m/s)"
set title"Vanderpol Oscillator using Runge Kutta's method"
set key box top left spacing 1.5
plot 'data.txt' using 1:2 with lines title 'Displacement', \\
     'data.txt' using 1:3 with lines dashtype 2 linecolor 7 \\
        title 'Velocity'
set terminal pdfcairo enhanced color notransparent
set output 'vanderpol_pdfcairo.pdf'
replot
unset output
unset terminal

但是,qt端子的输出和pdfcairo端子的输出略有不同。 通过pdfcairo的输出如下所示:

output via pdfcairo

但是,qt终端输出看起来像这样:

output via qt

请注意图例框的区别。 是否可以通过gnuplot命令保存qt终端输出?

为了完整起见,下面给出了部分数据文件。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
 # x   y1   y2
 0.00000000       2.00000000         0.00000000    
 0.100000001       1.99093056       -0.172638252    
 0.200000003       1.96694851       -0.300697386    
 0.300000012       1.93182826       -0.397370458    
 0.400000006       1.88817477       -0.472826719    
 0.500000000       1.83771741       -0.534503400    
 0.600000024       1.78155255       -0.587733626    
 0.699999988       1.72032225       -0.636360347    
 0.800000012       1.65433800       -0.683229983    
 0.900000036       1.58366048       -0.730560362    
 1.00000000       1.50814855       -0.780208290    
 1.10000002       1.42748523       -0.833866239    
 1.20000005       1.34118605       -0.893212378    
 1.30000007       1.24859416       -0.960030317    
 1.39999998       1.14886522        -1.03630733    
 1.50000000       1.04094255        -1.12430966    
 1.60000002      0.923527122        -1.22661817    
 1.70000005      0.795047462        -1.34608305    
 1.80000007      0.653641462        -1.48561156    
 1.89999998      0.497173846        -1.64762938    
 2.00000000      0.323334455        -1.83295059    
 2.10000014      0.129894391        -2.03868413    
 2.20000005      -8.47651213E-02    -2.25484443    
 2.29999995     -0.320725024        -2.45990729    
 2.40000010     -0.575173676        -2.61727047    
 2.50000000     -0.840935469        -2.67749405    
 2.60000014      -1.10578239        -2.59248185    
 2.70000005      -1.35379517        -2.34094477    
 2.79999995      -1.56921184        -1.94889915    
 2.90000010      -1.74111176        -1.48351884    
 3.00000000      -1.86605072        -1.02113712    
 3.10000014      -1.94729543       -0.615993023    
 3.20000005      -1.99192703       -0.290263236    
 3.29999995      -2.00793982        -4.20439988E-02
 3.40000010      -2.00246644        0.142086729    
 3.50000000      -1.98111856        0.278029412    
 3.60000014      -1.94798887        0.379831105    
 3.70000005      -1.90591788        0.458439767    
 3.79999995      -1.85680115        0.521885574    
 3.90000010      -1.80185127        0.575913012    
 4.00000000      -1.74179327        0.624632478

[编辑]:qt终端如何将显示的输出保存为pdf? 相同的c / c ++代码是什么?


涉及两个不同的图形库。 毫不奇怪:qt终端使用Qt,而pdfcairo终端使用cairo。 如果您希望交互式显示与硬拷贝输出更好地匹配,则有几种选择。

  • qt终端窗口的左上角有一个小部件,可使用Qt库创建当前图的pdf副本。 那应该非常接近屏幕显示。

  • wxt交互式终端是qt终端的替代产品。 它使用cairo图形库,因此wxt屏幕显示应接近pdfcairo终端产生的输出。

  • 就像qt显示窗口一样,wxt终端窗口具有用于硬拷贝输出的小部件。 该输出应更接近屏幕显示。

  • 当前没有使用Qt库生成pdf文件的命令行选项。