0%

cpgmove – 移动点(改变当前的点位置)

对应的C函数为

1
void cpgmove(float x, float y);

将当前点移动到另一个点(X,Y)的比较原生的函数。

参数:

  • X (输入) : 新点的x坐标
  • Y (输入) : 新点的y坐标

cpgmtxt – 在视口相关位置做文本标记

对应的C函数为

1
void cpgmtxt(const char *side, float disp, float coord, float fjust, const char *text);

在指定的地方标记文本。这个函数对于图形注解是很有用的。有个简略的使用PGLAB。文本使用当前的颜色索引值、线条宽度、字符高度和字符字体。

参数:

  • SIDE (输入) :为其中的一个字符’B’, ‘L’, ‘T’,或’R’分别代表Bottom(底端)、Left(左部)、Top(上方)和Right(右部)。 如果还包含“V”。例如’LV’或’RV’,那么字符串将垂直写。
  • DISP (输入) : 字符距离坐标轴的位置。负值在视口里面,正值在视口外面。
  • COORD (输入) : 字符在视图中的位置(整体范围在0-1之间)。
  • FJUST (输入) : 校正字符的对齐方式。如果FJUST = 0.0,字符的左端将对齐COORD; 如果 JUST = 0.5,字符的中间将对齐COORD; 如果 JUST = 1.0,字符的右端对齐COORD。其他介于0和1的值有对应的对齐位置,不过不是很有用。
    -TEXT (输入) : 输入的字符。结尾的空格将被忽略,起始的空格保留。

cpgtext

1
2
3
4
cpgtext(5.0, 5.0, "a Text String \\u5\\d");
cpgtext(5.0, 6.0, "\\faa text string");
cpgtext(5.0, 7.0, "\\faa text string");
cpgtext(5.0, 8.0, "\\faa text string");

  • PGADVANCE –非标准的PGPAGE
  • PGBEGIN –非标准的PGBEG
  • PGCURSE –非标准的PGCURS
  • PGLABEL –非标准的PGLAB
  • PGMTEXT –非标准的PGMTXT
  • PGNCURSE –非标准的PGNCUR
  • PGPAPER –非标准的PGPAP
  • PGPOINT –非标准的PGPT
  • PGPTEXT –非标准的PGPTXT
  • PGVPORT –非标准的PGSVP
  • PGVSIZE –非标准的PGVSIZ
  • PGVSTAND –非标准的PGVSTD
  • PGWINDOW –非标准的PGSWIN

cpgline – 绘制一个多线段的线条

对应的C函数为

1
void cpgline(int n, const float *xpts, const float *ypts);

绘制多线段的比较原生态的一个函数。多线段是指一条或多条连接的线段。多线段使用当前的颜色索引、线条类型和线条宽度属性。超出视口外的将被裁减掉。

参数:

  • N (输入) : 定义线条的点数,包含N-1条线段。N应该大于1(如果是1或者小于1),将没有线段显示
  • XPTS (输入) : 标记点的x坐标
  • YPTS (输入) : 标记点的y坐标

X和Y的维数要大于等于N.

cpglen – 计算字符串的长度(不同单位)

对应的C函数为

1
void cpglen(int units, const char *string, float *xl, float *yl);

计算出字符在x和y方向上的长度

输入

1
2
3
4
5
6
7
UNITS    :  0 => 标准化的设备坐标
1 => 返回英寸
2 => 返回毫米
3 => 返回绝对的设备坐标
4 => 返回世界坐标
5 => 返回当前视口大小的比例
STRING : 感兴趣的字符串

输出

1
2
XL       :  字符在x方向上的长度
YL : 字符在y方向上的长度

cpglcur – 使用光标绘制线条

对应的C函数为

1
void cpglcur(int maxpt, int *npt, float *x, float *y);

用户可以通过光标来绘制多线条的交互函数。这个函数允许用户添加或者删除顶点,顶点通过直线连接。

参数:

  • MAXPT (输入) : 能被接受的点的最大值
  • NPT (输入/输出) : 输入点的数目,第一次调用时为0
  • X (输入/输出) :数组的x坐标 (尺寸至少为MAXPT).
  • Y (输入/输出) :数组的y坐标(尺寸至少为MAXPT).

注:

  1. 光标选择的点将返回到一个数组中,顺序与输入的类似。
  2. 使用命令:
  • A (Add) -在当前光标添加一个点
  • D (Delete) –删除上一次输入的点 delete last-entered point.
  • X (eXit) - 离开子程序

cpglcur

cpgenv 设置窗口、视口及标签框架

对应的C函数为

1
void cpgenv(float xmin, float xmax, float ymin, float ymax, int just, int axis);

设置PGPLOT “作图环境Environment”。PGENV为随后的PGPT,PGLINE 构建比例坐标。绘图将前进到一个新页或面板(如果有需要可以清空屏幕)。如果”提示状态”是打开的(参考PGASK),在清空屏幕前,需要用户的确认。通过参数AXIS可以绘制需要的方框,坐标轴,标签等。

参数:

  • XMIN (输入) : 视口左下角的x坐标
  • XMAX (输入) : 视口右上角的x坐标(XMAX可以比XMIN小).
  • YMIN (输入) : 视口左下角的y坐标
  • YMAX (输入) : 视口右上角的y坐标(YMAX可以比YMIN小)
  • JUST (输入) : 如果 JUST=1,x和y轴的坐标尺度是相同的,如果为其他值,缩放比例无关。
  • AXIS (输入) : 控制坐标, 刻度标记等
    • AXIS = -2 : 不绘制方框、坐标和刻度;
    • AXIS = -1 : 只绘制方框;
    • AXIS = 0 : 绘制方框和刻度标记
    • AXIS = 1 : 与AXIS=0类似,不过添加了显示坐标轴(X=0, Y=0);
    • AXIS = 2 : 与AXIS=1类似,不过添加了主刻度的网格线
    • AXIS = 10 : X轴的方框和刻度用对数表示;
    • AXIS = 20 : Y轴的方框和刻度用对数表示;
    • AXIS = 30 : X、Y轴的方框和刻度均用对数表示.

对于其他的axis选项,使用函数PGBOX。PGENV 可以通过设置环境变量参数PGPLOT_ENVOPT 来使用一些PGBOX的属性。

例如:

  • PGPLOT_ENVOPT=P ! 越出的刻度标记
  • PGPLOT_ENVOPT=I ! 反转刻度标记
  • PGPLOT_ENVOPT=IV ! 反转刻度标记、y垂直标记