折线的折角的弧半径可以用
linearc=弧半径设置,缺省值为0pt,弧半径不能小于0。
帧的四个角的弧半径可以用
framearc=0到1之间的数设置,它不是一个长度值,实际的弧半径是用这个数乘以0.5,再乘以帧的宽度和 高度中较小的那一个。
帧的四个角的大小由
cornersize=relative/absolute设置,缺省值是relative。如果是absolute,参数“linearc”的值决定了 帧的圆角的半径。
折线就是用直线段把坐标依次连接起来,它的语法是
\psline*[参数]{箭头}(x0,y0)(x1,y1)… (xn,yn)比如
\psline[linewidth=2pt,linearc=.25]{->}(4,2)(0,1)(2,0)
折线的一个简单版本被用于绘制一条线段
\qline(coor0)(coor1)
多边形与折线类似,只是首尾相连,形成一个多边形,它的语法是
\pspolygon*[参数](x0,y0)(x1,y1)(x2,y2)… (xn,yn)比如
\pspolygon*[linearc=.2,linecolor=darkgray](1,0)(1,2)(4,0)(4,2)
帧对象绘制一个矩形,它的语法是
\psframe*[参数](x0,y0)(x1,y1)其中一对对角是(x0,y0)和(x1,y1)。比如
\psframe*[linecolor=white](1,.5)(2,1.5)
菱形的语法是
\psdiamond*[参数](x0,y0)(x1,y1)其中(x0,y0)是菱形的中心,(x1,y1)中的x1表示半宽,y1表示半高。比如
\psdiamond[framearc=.3,fillstyle=solid,fillcolor=lightgray](2,1)(1.5,1)菱形可以绕中心旋转,旋转角度由参数
gangle=角度决定
三角形的语法是
\pstriangle*[参数](x0,y0)(x1,y1)其中(x0,y0)是底边的中心,(x1,y1)中的x1是底边的宽,y1是底边上的高。比如
\pstriangle*[gangle=10](2,.5)(4,1)
圆的语法是
\pscircle*[参数](x0,y0){半径}其中(x0,y0)是圆心。比如
\pscircle[linewidth=2pt](.5,.5){1.5}它的一个简单版本绘制一个圆盘
\qdisk(x0,y0){半径}
扇形的语法是
\pswedge*[参数](x0,y0){半径}{起始角度}{结束角度}其中(x0,y0)是圆心。比如
\pswedge[linecolor=gray,linewidth=2pt,fillstyle=solid]{2}{0}{70}
椭圆的语法是
\psellipse*[参数](x0,y0)(x1,y1)其中(x0,y0)是椭圆中心,(x1,y1)中的x1表示x轴方向上的半径,y1表示y轴方向上的 半径。比如
\psellipse[fillcolor=lightgray](.5,0)(1.5,1)
圆弧的语法是
\psarc*[参数]{箭头}(x,y){半径}{起始角度}{结束角度}其中(x,y)是椭圆中心。比如
\psarc*[showpoints=true](1.5,1.5){1.5}{215}{0}
如果画一条弧线连接一个角的两边,且带箭头,比如
\SpecialCoor这样画的问题是,箭头嵌入结束边。如果让箭头指向起始边也一样。 为了解决这个问题,可以用参数
\psline[linewidth=2pt](4;50)(0,0)(4;10)
\psarc{->}{3}{10}{50}
arcsepA=宽度它在起始边中心的基础上,跳过指定宽度,就避免了箭头嵌入边。 另一个参数
arcsepB=宽度作用于结束边。而参数
arcsep=宽度同时作用于两边。上述例子可以改为
\SpecialCoor
\psline[linewidth=2pt](4;50)(0,0)(4;10)
\psarc[arcsepB=2pt]{->}{3}{10}{50}
反向弧就是顺时针圆弧,完全可以通过设置圆弧的起始角度、结束角度以及箭头朝向获得。 pstricks还是提供了单独的命令
\psarcn*[参数]{箭头}(x,y){半径}{起始角度}{结束角度}其中(x,y)是椭圆中心。
椭圆弧的语法是
\psellipticarc*[参数]{箭头}(x0,y0)(x1,y1){半径}{起始角度}{结束角度}其中(x0,y0)是椭圆中心,(x1,y1)中的x1是水平方向半径,y1是垂直方向半径。比如
\psellipticarc[showpoints=true,arrowscale=2]{->}(.5,0)(1.5,1){215}{0}
反向椭圆弧和反向圆弧类似,它的语法是
\psellipticarcn*[参数]{箭头}(x0,y0)(x1,y1){半径}{起始角度}{结束角度}
贝泽尔曲线的语法是
\psbezier*[参数]{箭头}(x0,y0)(x1,y1)(x2,y2)(x3,y3)四个坐标是四个控制点。比如
\psbezier[linewidth=2pt,showpoints=true]{->}(0,0)(1,4)(2,1)(4,3.5)
抛物线的语法是
\parabola*[参数]{箭头}(x0,y0)(x1,y1)抛物线通过点(x0,y0),极值点是(x1,y1)。比如
\psset{xunit=.01}
\parabola{<->}(400,3)(200,0)
下面介绍的插值曲线是通过一系列坐标的曲线,除了开始和结束的点,其它点被称为内部点。 以内部点为顶点,连接相邻点所形成的角的平分线,曲线在内部点上垂直于该平分线。曲线 受参数
curvature=num1 num2 num3控制。三个值在-1到1之间,数值1越小,曲线越紧,上述内部点与相邻点所成的角如果大于45 度,则数值越小,曲线越紧,其它情况下则越松。数值3决定了曲线在每一点的倾斜,如果等于0, 曲线在内部点垂直于角平分线,如果等于-1,则平行于相邻两点的连线。
对象
\pscurve*[参数]{箭头}(x1,y1)… (xn,yn)绘制了一条开放的插值曲线。比如
\pscurve[showpoints=true]{<->}(0,1.3)(0.7,1.8)(3.3,0.5)(4,1.6)(0.4,0.4)
对象
\psecurve*[参数]{箭头}(x1,y1)… (xn,yn)绘制了一条开放的插值曲线,但不包括第一个点和最后一个点。比如
\psecurve[showpoints=true](.125,8)(.25,4)(.5,2)(1,1)(2,.5)(4,.25)(8,.125)
对象
\psccurve*[参数]{箭头}(x1,y1)… (xn,yn)绘制了一条封闭的,即首尾相连的插值曲线。比如
\psccurve[showpoints=true](.5,0)(3.5,1)(3.5,0)(.5,1)
点的语法是
\psdot*[参数](x1,y1)它们在每一个坐标上绘制一个点。点的形状由参数
\psdots*[参数](x1,y1)(x2,y2)… (xn,yn)
dotstyle=风格决定。“风格”可以是下列值
*
o
Bo
x
+
B+
asterisk
Basterisk
oplus
otimes
|
B|
square
Bsquare
square*
diamond
diamond*
triangle
Btriangle
triangle*
pentagon
Bpentagon
pentagon*
参数
dotsize=dim num决定的点的直径是dim 加上num乘以线宽。
在水平和垂直方向上缩放点用参数
dotscale=num1 num2如果不给num2,则两个方向上都是num1。
点的旋转由参数
dotangle=角度决定
网格的语法是
\psgrid[参数](x0,y0)(x1,y1)(x2,y2)其中(x1,y1)和(x2,y2)分别是左下角和右上角,从(x0,y0)开始 标注数字,如果省略(x0,y0),则从(x1,y1)开始标注,如果不给任何坐标, 则整个图形环境被一个10乘10的网格占据。比如
\psgrid(0,0)(-1,-1)(3,2)
参数
gridwidth=线宽设置网格线宽,缺省值是0.8pt。参数
gridcolor=颜色设置网格线颜色,缺省值是black。参数
griddots=num中如果num大于0,网格线就是虚线,每条线的点数就是num。参数
gridlabels=标注字体大小设置标注的字体大小,缺省值为10pt。参数
gridlabelcolor=颜色设置标注的颜色,缺省值为black。
参数
subgriddiv=分割次数设置每一个网格被分为分割的次数,缺省值是5,也就是每一大格又被分为25小格。 参数
subgridwidth=子网格线宽设置子网格线宽,缺省值为0.4pt。参数
subgridcolor=颜色设置子网格线的颜色,缺省值为gray。参数
subgriddots=num中如果num大于0,子网格线就是虚线,每条线的点数就是num。
图表就是将指定的数据在坐标系中表示出来,表示的方式由参数
plotstyle=style设置,“style”的值可以是:dots,line,polygon,curve,ecurve,ccurve。 缺省值是line。
如果数据来源于文件,可以用
\fileplot*[参数]{文件名}文件由一系列坐标构成,坐标不带单位,可以用{}、()括起来,或者用 逗号或者白空格分隔,全部数据可以用一对[]括起来。
数据在文件中的另一个办法是用命令
\readdata{命令}{文件名}把数据从文件中读到“命令”中去,然后用命令
\dataplot*[参数]{命令}产生图表,比如
\readdata{\foo}{foo.data}
\readdata{\bar}{bar.data}
\dataplot{\foo\bar}
\dataplot[origin={0,1}]{\bar}
如果想在文档中直接列出数据,可以用命令
\savedata{命令}[数据]先将数据保存到命令中。比如
\psset{xunit=.2cm,yunit=1.5cm}
\savedata{\mydata}[
{{0, 0}, {1., 0.946083}, {2., 1.60541}, {3., 1.84865}, {4., 1.7582},
{5., 1.54993}, {6., 1.42469}, {7., 1.4546}, {8., 1.57419},
{9., 1.66504}, {10., 1.65835}, {11., 1.57831}, {12., 1.50497},
{13., 1.49936}, {14., 1.55621}, {15., 1.61819}, {16., 1.6313},
{17., 1.59014}, {18., 1.53661}, {19., 1.51863}, {20., 1.54824}}]
\dataplot[plotstyle=curve,showpoints=true, dotstyle=triangle]{\mydata}
\psline{<->}(0,2)(0,0)(20,0)
直接使用函数表达式是最好的,先用参数
plotpoints=点数设定计算多少个坐标,缺省值是50。可惜pstricks的命令
\psplot*[参数]{xmin}{xmax}{function}中只认识Postscript函数,比如
\psplot[plotpoints=200]{0}{720}{x sin}
还可以使用参数化的函数图表
\parametricplot*[参数]{tmin}{tmax}{function}比如
\parametricplot[plotstyle=dots,plotpoints=13]{-6}{6}{1.2 t exp 1.2 t neg exp}
数轴定义在包“pst-plot”中,所以请在LaTeX导言中加入
\usepackage{pst-plot}数轴的语法是
\psaxes*[参数]{箭头}(x0,y0)(x1,y1)(x2,y2)其中(x1,y1)和(x2,y2)分别是左下角和右上角,从(x0,y0)开始 标注数字,如果省略(x0,y0),则从(x1,y1)开始标注。比如
\psaxes[linewidth=1.2pt,labels=none,ticks=none]{<->}(2,1)(0,0)(4,3)
数轴标注可以通过下列参数设置
“pst-coil”包提供了可以用于表示二、三维线圈、弹簧、锯齿线的命令,要使用它们 请在LaTeX导言中加入
\usepackage{pst-coil}
三个命令用来表示二、三维线圈、弹簧、锯齿线
\pscoil*[参数]{箭头}(x0,y0)(x1,y1)前两个表示三维线圈或弹簧,后者是一个二维的锯齿。它们可以用参数
\psCoil*[参数]{角度1}{角度2}
\pszigzag*[参数]{箭头}(x0,y0)(x1,y1)
coilwidth=dim 缺省值是1cm。比如
coilheight=num 缺省值是1。
coilarm=dim 缺省值是0.5cm。
coilaspect=angle 缺省值为45。
coilinc=angle 缺省值是10。
\psCoil[coilaspect=0,coilheight=1.33,coilwidth=.75,linewidth=1.5pt]{0}{1440}