0%

PGPLOT的一个示例程序

PGPLOT 的一个示例程序

简介

PGPLOT典型的应用主要是一些已知测定点的描绘和理论曲线的比对。

这里给出一个简单的例子程序,画出5个数据点,理论曲线为y=x^2。

代码

代码如下所示:

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
43
44
45
46
47
48
49
50
51
/**
* Copyright (c) 2010-2017, Guo Shaoguang
*
* All rights reserved.
*
* @file shao_pgplot_y=x2.c
* @author Guo Shaoguang
* @email sgguo@shao.ac.cn
* @date 2011.06.11
* @version v1.0
*
* @brief This file will y=x^2 using PGPLOT
*/

#include "../include/cpgplot.h"
#include <stdio.h>
#include <stdlib.h>

int main() {
int i;
static float xs[] = {1.0, 2.0, 3.0, 4.0, 5.0};
static float ys[] = {1.0, 4.0, 9.0, 16.0, 25.0};
float xr[100], yr[100];
int n = sizeof(xr) / sizeof(xr[0]);

printf("Now begin to plot ...\n");

/// 1. Enable the PGPLOT and setting the device
if (cpgbeg(0, "?", 1, 1) != 1)
return EXIT_FAILURE;

/// 2. Setting the axis of x and y including label
cpgenv(0.0, 10.0, 0.0, 20.0, 0, 1);
cpglab("(x)", "(y)", "y = x\\u2\\d");
cpgiden();

/// 3. Begin plot points / lines
cpgpt(5, xs, ys, 9);

for (i = 0; i < n; i++) {
xr[i] = 0.1 * i;
yr[i] = xr[i] * xr[i];
}

cpgline(n,xr,yr);

/// 4. Close the PGPLOT
cpgend();

return EXIT_SUCCESS;
}

结果

Result

处无为之事,行不言之教;作而弗始,生而弗有,为而弗恃,功成不居!

欢迎关注我的其它发布渠道