0%

PGPLOT cpgopen – 打开一个图形设备

cpgopen – 打开一个图形设备

对应的C函数为

1
int cpgopen(const char *device);

为PGPLOT的输出打开一个图形设备。如果设备打开成功,图形将输出到该设备直到使用PGSLCT选择了其他的设备或者使用PGCLOS关闭了该设备。

PGOPEN的返回值应该加以辨别是否打开成功。例如:

1
ISTAT = PGOPEN('plot.ps/PS')

如果 (ISTAT .LE. 0 ) STOP

DEVICE 参数的值为一个字符串,取值如下所示:

  1. 完整的设备描述形式“device/type”或者“file/type”;其中的’type’为PGPLOT支持设备类型的一种。
  2. 单纯的设备描述形式’/type’
  3. 设备描述形式’/type’被省略时,使用环境变量定义好的PGPLOT_TYPE
  4. 空字符串 (“ ”);这种情况下,PGOPEN将使用设定好的环境变量PGPLOT_DEV。如果环境变量未定义使用’/NULL’
  5. 双引号加一个问号 (“?”);这种情况下将提示用户键入要输出的设备类型,也可以输入?来查看设备列表。
  6. 非空字符串但是第一个字符为问号的 (比如’?Device: ‘);这种情况下PGPLOT将给用户提示信息,不过前缀是?后面的字符串。

对于情况 (5)和 (6),设备的类型将由输入确定。
设备的类型是不区分大小写的(例如’/ps’和’/PS’是相同的)。

有效地DEVICE参数示例:

  1. ‘plot.ps/ps’, ‘dir/plot.ps/ps’, ‘“dir/plot.ps”/ps’, ‘user:[tjp.plots]plot.ps/PS’
  2. ‘/ps’ (PGPLOT默认为’PGPLOT.ps/ps’)
  3. ‘plot.ps’ (如果PGPLOT_TYPE定义为’ps’, PGPLOT将解释为’plot.ps/ps’)
  4. ‘ ‘ (取决于定义的PGPLOT_DEV)
  5. ‘? ‘
  6. ‘?Device specification for PGPLOT: ‘
    [这个函数是在5.1.0版本加入的,老程序用PGBEG替代。

返回值:

  • PGOPEN : 返回值(正值)将被PGSLCT使用。 如果返回0或者负值,将有错误信息输入到标准错误单元。

参数:

  • DEVICE (输入) : 设备描述符(参考上面的描述)
处无为之事,行不言之教;作而弗始,生而弗有,为而弗恃,功成不居!

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