vim出错warning setlocale LC_CTYPE cannot change locale
在终端命令行下面,为了放置出现乱码,将LANG设置为en,不过在vim的时候却出现了如下提示信息:
1 | warning: setlocale: LC_CTYPE: cannot change locale (en) |
估计就是语系的问题吧。
解决方法:
在bashrc中将设置的LANG的语句注释就正常了。
虽然只是自己的随笔,随便写写,还是献给我亲爱的父母和可爱的女朋友WXM同学。
序言
本心得手册为PGPLOT的C语言编程中文手册,为广大的中国PGPLOT fans而作。
由于最近有个项目要用到PGPLOT,就花了几天的时间来熟悉这个天文界极为常见的图库,后面因为在网上没有找到关于C-bind的文章,就索性大概写了一下心得(由于正常工作时间不可能全部花在这个上面,所以时间就比较紧促,排版方面也是很草草了了~)。
最后我会附上PGPLOT的manual原版,我没有纯粹的来翻译这本手册,只是大概按照自己的学习步骤,随便写了写,因为对中英文的计算机术语没有较深涉入,所以会有些术语不是很标准,希望读到的XDJM多多的提意见。
在c语言中一般都要加上c前缀,比如PGBOX在c语言中调用为cpgbox。有些函数比如PGWINDOW有相同含义的PGSWIN,在C语言中调用cpgswin即可。
对了,本文PGPLOT的操作平台为Linux/MacOSX系统。
好友cosmancosman.leo@gmail.com(全能牛人)前一段时间用python调用PGPLOT做出了一个天文数据处理的软件,如果有PGPLOT和python的接口问题,可以咨询他。
大部分文档写于2011-06-18~2011-07-18
对应的C函数为
1 | int cpgband(int mode, int posn, float xref, float yref, float *x, float *y, char *ch_scalar); |
用户读取光标位置和字符类型。位置返回值为世界坐标。如果POSN=1,PGBAND 指出光标的位置,并且允许用户使用鼠标或者方向键移动光标。在确定光标位置后,用户可以输入键盘上的一个字符;PGBAND将返回这个字符和新的光标位置。
一些交互设备提供了一些光标类型的可选项,一般而言都是较细的线条,但在绘制这个的时候,不会擦除以前的绘图。
下面的关于MODE的选项也和锚定点XREF,YREF有关。对于设备不支持光标类型的,默认MODE=0.
– 如果 MODE=0, 锚定点将被忽略,类似PGCURS.
– 如果 MODE=1, 从锚定点到光标位置绘制一个直线线条
– 如果 MODE=2, 从锚定点(左下角)到光标位置(右上角)绘制一个中空的矩形。当然矩形的边缘为平行或者垂直的。
– 如果 MODE=3, 绘制两条扩展并横跨显示宽度的水平线,其中一条通过锚定点,另一条通过光标位置。这通常用于选择一个已知的Y轴范围。
– 如果 MODE=4, 绘制两条扩展并横跨显示宽度的垂直线,其中一条通过锚定点,另一条通过光标位置。这通常用于选择一个已知的X轴范围。
– 如果 MODE=5, 只绘制一条水平线条
– 如果 MODE=6, 只绘制一条水平线条
– 如果 MODE=7, 以光标为中心绘制一个十字交叉线
返回值:
1 | PGBAND : 成功返回1;无光标或失败返回0 |
参数:
1 | MODE (输入) : 显示方式 (从0到7:上面有描述). |
对应的C函数为
1 | int cpgbeg(int unit, const char *file, int nxsub, int nysub); |
新的程序最好用PGOPEN而不是PGBEG。PGOPEN会保留现存程序的兼容性。PGBEG不像PGOPEN,它将关闭打开的任何图形设备,所以对于它不能被用于并行的打开设备。
PGBEG 为随后的绘图打开一个图形设备或者一个文件。在调用其他子程序之前,都必须使用PGBEG或PGOPEN打开一个设备。
返回值:
PGBEG : 返回1成功,其他失败并在标准错误单元中显示错误信息。
参数:
PGPLOT将在屏幕上显示NXSUB * NYSUB个图像。如果有N个细分视图的话,PGPAGE 将移动到下一个子视图,而不是下一个物理页。如果NXSUB > 0, PGPLOT将横向排列,如果 NXSUB <0, PGPLOT将纵向排列。
如果const char *file
为?,那么输出为:
1 | Graphics device/type (? to see list, default /Xserve): ? |