第二章 Mathematica 绘图
2.1 Mathematica绘图命令形式与绘图参数 2.1.1Mathematica绘图命令的形式 绘一元函数y = f (x) 的图形命令:(举例) Plot[ f[x] , 要绘图形的自变量x的范围 , 选择项参数] 绘二元函数z = f (x, y)的图形命令: (举例) Plot3D[ f [x, y] , 要绘图形的自变量x , y的范围 , 选择项参数] 绘平面参数曲线{ x= x(t) , y= y(t) }的图形命令: (举例) ParametricPlot[{x[t], y[t]} , 要绘图形的参数t的范围, 选择项参数] 下一部分
绘空间参数曲线{ x=x(t) , y=y(t), z=z(t) }的图形命令: ParametricPlot3D[{x[t],y[t],z[t]}, 要绘图形的参数t的范围 , 选择项参数] 绘参数曲面{ x=x(u, v) , y=y(u, v), z=z(u, v) }的图形命令: ParametricPlot3D[{x[u,v], y[u,v], z[u,v]}, 要绘图形的参数u , v的范围, 选择项参数] 绘平面点集图{x1,y1}, {x2,y2},, {xn,yn}散点图命令: ListPlot[{{x1,y1}, {x2,y2}, , {xn,yn} }, 选择项参数] 绘平面等高线图 ContourPlot[ f [x, y] , 要绘图形的自变量x , y的范围 , 选择项参数] 图形重画 Show[ 图形文件 , 选择项参数]
例1:Plot[{Sin[x],Cos[x+Pi/6]},{x,-4,6}]; 返回
例2 :z [x_, y_]:=1/Sqrt[x^2+y^2]; Plot3D[z[x,y],{x,-2,2},{y,-2,2},PlotPoints ->30] 返回
例3: 返回 n=5; r=5Cos[nt]+Sin[5nt]; tu1=Parametricplot[{rCos[t],rSin[t]},{t,0,2pi},AspectRatio->1, Axes->False,PlotStyle->{RGBColor[1,0,0],Thickness[0.01]}]; 返回
例4: 利用图形显示命令分析下列函数的性质: 例4: 利用图形显示命令分析下列函数的性质: (1)f(x)=(x2-x)sinx,x∈[0,16] (2)f(x)= , x∈[-5,5] (3)f1(x)=sinx f2(x)=sin2x,x∈[0,2π] (4)
结果图形 (1) Plot[(x^2-x)Sin[x],{x,0,16}] (2) Plot[Sin[x^2]/x^2,{x,-5,5}] (3) Plot[{Sin[x],Sin[2x]},{x,0,2Pi}] (4)ParametricPlot[{Sin[t],Sin[2t]},{t,0,2Pi}]
选项(option)参数名称 -> 参数值(value) 2.1.2常用的绘图选项参数名称、含义、取值 绘图命令中的选择项参数的形式为: 选项(option)参数名称 -> 参数值(value) 一些常用的绘图选项列举如下: (1)选项参数名称: AspectRatio 含义: 图形的高度与宽度比 参数取值: 作为平面图形输参数值时, 该选项参数的默认值为1/GoldenRatio, 这里GoldenRatio是数学常数0.618; 作为空间图形参数值时,该选项参数的默认值为Automatic。AspectRatio 取Automatic值时, 表示图形按实际比例显示。 例: AspectRatio->Automaic, 表示显示的图形高度与宽度比由Mathematica 的内部算法根据函数图形的大小确定; AspectRatio->1, 表示显示的图形高度与宽度比是1:1。
(2)选项参数名称: Axes 含义: 图形是否有坐标轴 参数取值: 该参数的取值为True和None。 该选项参数的默认值为True 例:Axes-> True, 表示显示的图形有坐标轴; Axes-> None, 表示显示的图形没有坐标轴。 (3) 选项参数名称: Frame 含义:平面图形是否加框 参数取值: 该参数的取值为True和False。 该选项参数只用于平面图形,其默认值为False 例: Frame-> True, 表示显示的图形有框;Frame-> False, 表示显示的图形没有框。
(4) 选项参数名称: FrameLabel 含义:平面图形框的周围是否加标记 参数取值: 该参数的取值为None和{xb, yl, xt, yr}。 该选项参数只用于平面图形且在Frame->True时才有效,其默认值为None。 例: FrameLabel->{a,b,c,d}, 表示显示的图形框的四个边的标记由底边起按顺时针方向依次为a, b, c, d; FrameLabel-> None, 表示显示的图形框周围没有标记。 (5)选项参数名称: PlotLabel 含义: 是否设置图形名称标记 参数取值: 该参数取值为"字符串"和None, 默认值为None。 例: PlotLabel-> None, 表示没有图形名称标记, PlotLabel->"Bessel",使显示的图形上标出符号Bessel作为该函数图形名称。
(6) 选项参数名称: AxesLabel 含义: 是否设置图形坐标轴标记 参数取值: 该参数的默认值为None;作为平面图形输出参数时, 该选项参数取值为 {“字符串1” , “字符串2”}, 表示将“字符串1”设置为横坐标轴标记,“字符串2”设置为纵坐标轴标记; 作为空间图形输出参数时, 该选项参数取值为{“字符串1” , “字符串2” , “字符串3”}, 表示将“字符串1”设置为横坐标标记,“字符串2”设置为纵坐标标记,“字符串3”设置为竖坐标标记。 例:AxesLabel-> None, 表示显示的图形坐标轴没有标记; AxesLabel->{"time" , "speed"}, 表示平面图形的横坐标轴标记显示为time 纵坐标轴标记显示为speed; AxesLabel->{“时间”,“速度”,“高度”}, 表示空间图形的横坐标轴标记设置为时间, 纵坐标轴标记设置为速度, 竖坐标轴标记设置为高度。
(7) 选项参数名称: PlotRange 含义: 设置图形的范围 例: PlotRange->Automatic 表示用Mathematica 内部算法显示的图形。 PlotRange ->{1,8}, 表示只显示函数值在1 和8之间的平面曲线图形或空间曲面图形 PlotRange ->{{2,5},{1,8}}, 表示只显示自变量在2和5之间且函数值在1 和8之间的平面曲线图形; PlotRange ->{{2,5},{1,8},{-2,5}} 显示第一个自变量在[2,5]、第二个自变量在[1,8]且函数值在[-2,5]之间的曲面图形。 (8) 选项参数名称: PlotStyle 含义: 设置所绘曲线或点图的颜色、曲线粗细或点的大小及曲线的虚实等显示样式 参数取值: 与曲线样式函数的取值对应。
曲线样式函数有: RGBColor[r, g, b] 颜色描述函数,自变量r, g, b的取值范围为闭区间[0,1],其中r, g, b分别对应红(red)、绿(green)、蓝(blue)三种颜色的强度,它们取值的不同组合产生不同的色彩。 Thickness[t] 曲线粗细描述函数,自变量t的取值范围为闭区间[0,1],t的取值描述曲线粗细所占整个图形百分比,通常取值小于0.1。二维图形的粗细默认值为Thickness[0.004],三维图形的粗细默认值为 Thickness[0.001]。 GrayLevel[t] 曲线灰度描述函数,自变量t的取值范围为闭区间[0,1],t取0值为白色,t取1值为黑色。 PointSize[r] 点的大小描述函数,自变量r表示点的半径,它的取值范围为闭区间[0,1], 该函数的取值描述点的大小所占整个图形百分比,通常r取值小于0.01。二维点图形的默认值为PointSize[0.008],三维点图形的粗细默认值为PointSize[0.01]。 Dashing[{d1,d2,…dn}] 虚线图形描述函数, 虚线图周期地使用序列值{d1,d2, …, dn}, 在对应的曲线上采取依次交替画长d1实线段, 擦除长d2实线段,再画长d3实线段, 擦除长d4实线段, …, 的方式画出虚线图。
举例: Show[tu1,tu2,Axes->False] n=4; r=5Cos[nt]+2Sin[5nt]; tu2=ParametricPlot[{rCos[t],rSin[t]},{t,0,2Pi},PlotStyle->{RGBColor[0,0,1], Thickness[0.01]},AspectRatio->1]; Show[tu1,tu2,Axes->False] (见右图)
举例: ParametricPlot[{{x,x^2},{x^2,x},{x,x},{x,-3,3},Frame->True, FrameLabel-> {x,y}, FrameStyle->{RGBColor[0,0,0],Thickness[0.01]},Backgroud-> RGBColor[0,0,1],AspectRatio->1,AxesLabel->{x,y}, PlotRange->{{-2,2}, {-2,2}},PlotStyle->{{RGBColor[1,0,0],Thickness[0.02]}, {RGBColor[1,0,1], Thickness[0.02]}, {RGBColor[0,0,0],Thickness[0.01]}}]
功能:画出函数f(x) 的图形,图形范围是自变量x满足xmin x xmax的部分,其选择项参数值取默认值。 2.2 画一元函数图形 一元函数f(x)的图形是一条平面曲线,所以一元函数又称为曲线。一元函数绘图是最常用和最简单的绘图形式。 2.2.1 画一条曲线的命令 命令形式1:Plot[f[x], {x, xmin, xmax}] 功能:画出函数f(x) 的图形,图形范围是自变量x满足xmin x xmax的部分,其选择项参数值取默认值。 命令形式2:Plot[f[x], {x, xmin, xmax},option1->value1,option2->value2,…] 功能:画出函数f(x) 的图形,图形范围是自变量x满足xmin x xmax的部分,其选择项参数值取命令中的值。
2.2.2 在同一个坐标系画多条曲线的命令 命令形式1:Plot[{f1[x], f2[x],…, fn[x]},{x, xmin, xmax}] 功能:在同一个坐标系画出函数f1[x], f2[x],…, fn[x] 的图形,图形范围是自变量x满足xmin x xmax的部分,其选择项参数值取默认值。 命令形式2:Plot[{f1[x], f2[x],…, fn[x]}, {x, xmin,xmax},option1- >value1 ,…] 功能:在同一个坐标系画出函数f1[x], f2[x],…, fn[x]的图形,图形范围是自变量x满足xmin x xmax的部分,其选择项参数值取命令中的值
例1:画出函数y = sin x2 在-5 x 5 的图形。 解: Mathematica 命令: In[1]:= Plot[ Sin[x^2] , {x, -5, 5} ]
例2:画出函数y=sin x+x -3 x 25 的图形, 要求只显示其在平面区域[5,12][5,10]部分的图形,且为红色。 解:Mathematica 命令: In[2]:= Plot[ Sin[x] + x , {x, -3, 25} , PlotRange->{{5,12},{5,10}}, PlotStyle -> RGBColor[1,0,0]]
例3: 在同一坐标系中画出三个函数y = cos 2x ,y = x 2 ,y = x的图形, 并给坐标横轴和纵轴分别标记为x和y,自变量范围为:-2 x 2 。 解:Mathematica 命令: In[3]:= Plot[{Cos[2x], x^2, x}, {x, -2, 2},AxesLabel->{"x" , "y"}]
例4: 在同一坐标系中画出两个函数y = cos 2x ,y = x的图形,自变量范围为:-2 x 2,且函数y = cos 2x为红色实线, 线粗0.01, 函数y = x 为虚线。 解:Mathematica 命令: In[4]:=Plot[{Cos[2x],x},{x,-2,2}, PlotStyle->{{RGBColor[1,0,0],Thickness[0.01]},{Dashing[{0.05,0.02}]}}]
例5:画出5次勒让德多项式LegendreP[5,x] 的图形 , 自变量范围为:-1 x 1,且函数图形四周加框,并在图形上标出函数名称。 解:Mathematica 命令: In[5]:= Plot[LegendreP[5,x], {x,-1,1}, Frame->True, PlotLabel->"LegendreP[5,x]"]
2.3 画二元函数图形 命令形式1: Plot3D[ f[x, y] , {x, xmin , xmax}, {y, ymin , ymax} ] 功能:画出函数f(x, y) 的自变量(x, y)满足xmin x xmax, ymin y ymax的部分的曲面图形,其选择项参数值取默认值。 命令形式2: Plot3D[ f[x, y] , {x, xmin , xmax}, {y,ymin , ymax}, option1->value1,… ] 功能:画出函数f(x, y) 的自变量(x, y)满足xmin x xmax, ymin y ymax的部分的曲面图形。
常用的几个空间曲面绘图选项参数名称、含义简单列表如下: 默认值 意义 Boxed True 是否在曲面周围加立体框 Boxed Ratio {1,1,0.4} 三维立体边长的比率 Mesh 在曲面上画出x y网格, False可以取消网格 ViewPoint {1.3, -2.4, 2} 观察曲面的视点,可以设定任何观察点。视点的典型位置有:{0, -2, 0} 正前方; {0, 0, 2} 正上方; {0, -2, 2} 前上方 {0,- 2, - 2} 前下方; {-2, -2, 0} 盒左角 PlotPionts 15 函数在每个方向的取样点数 PlotColor 是否用彩色 Shading 是否在区面上涂阴影 HiddenSurface 挡住部分的曲面是否隐藏 ClipFill Automatic 图中被切掉部分的填充方式, 如果取值None, 则截去部分不用颜色填充; 如果取值RGBColor[r,g,b]则截去部分该颜色函数对应的颜色填充
例6: 画出函数z = sin (x+sin y) 在-3 x 3 , -3 y 3 上的图形 解:Mathematica 命令: In[6]:= Plot3D[ Sin[x+Sin[y]] , {x, -3, 3} ,{y, -3, 3}]
例7:画出例6的曲面图形, 要求显示视点在图形前上方位置观察的曲面效果。 解:Mathematica 命令: In[7]:= Plot3D[Sin[x+Sin[y]], {x, -3, 3}, {y, -3, 3}, ViewPoint->{0, -2, 2} ];
2.4画平面参数曲线图形 命令形式1: ParametricPlot[ {x[t], y[t]} , {t, tmin , tmax}, option1->value1,… ] 功能:画出平面参数曲线方程为x=x(t) ,y=y(t)满足tmin t tmax的部分的一条平面参数曲线图形。 命令形式2:ParametricPlot[{{{x1[t], y1[t]}, {x2[t], y2[t]},…}, {t, tmin, tmax}, option1->value1,…}] 功能:在同一个坐标系中画出一组平面参数曲线,对应的参数曲线方程为x1=x1(t) ,y1=y1(t); x2= x2(t) ,y2=y2(t);…,t满足tmin t tmax。
解:由于圆为封闭曲线,故应该用参数绘图命令来画。 半径为4的圆的参数方程为: 例8: 画出半径为4的圆的图形。 解:由于圆为封闭曲线,故应该用参数绘图命令来画。 半径为4的圆的参数方程为: x=2cos t, y=2 sin t, 0 t 2 Mathematica 命令: In[8]:= ParametricPlot[{2Cos[t], 2Sin[t]} , { t, 0, 2Pi}]; 该命令画出的不是圆而是椭圆的原因是由于ParametricPlot[]的命令中的图形高宽比参数AspectRatio的默认值为1:0.618造成的, 要显示出真正的圆应该把AspectRatio设置为Automatic即AspectRatio->Automatic
此时对应的命令为: In[9]:= ParametricPlot[{2Cos[t], 2Sin[t] } , {t, 0 , 2Pi}, AspectRatio->Automatic];
x1= cos t ,y1= sin t; x2= sin t ,y2= sin 2t; t满足0 t 2 例9:在同一坐标系中画出如下两条参数曲线, 参数曲线方程为 x1= cos t ,y1= sin t; x2= sin t ,y2= sin 2t; t满足0 t 2 解:Mathematica 命令: In[10]:=ParametricPlot[{{Cos[t],Sin[t]},{Sin[t],Sin[2t]}}, {t,0,2Pi}];
例10:画出如下空间曲线,参数曲线方程为 x= cos t ,y = sin t, z = 1/ t , t满足0.1 t 1.5 空间参数曲线的方程为x= x(t) ,y= y(t), z= z(t), 参数t连接了变量x,y,z的函数关系,Mathematica提供了空间参数曲线绘图功能。 命令形式: ParametricPlot3D[{x[t], y[t], z[t]} , {t, tmin , tmax}, option1->value1,… ] 例10:画出如下空间曲线,参数曲线方程为 x= cos t ,y = sin t, z = 1/ t , t满足0.1 t 1.5 解:Mathematica 命令: In[11]:= ParametricPlot3D[{Cos[t], Sin[t], 1/t }, {t, 0.1, 9} ];
2.6 画参数曲面图形 参数曲面的方程为: x=x(u,v), y=y(u,v), z=z(u,v), u[u0,u1], v[v0,v1]; 命令形式: ParametricPlot3D[{x[u, v], y[u, v], z[u, v]}, {u, umin, umax}, {v, vmin, vmax}, option1- >value1,… ] 功能:画出参数曲面方程为 x=x(u,v), y=y(u,v), z=z(u,v), u[umin,umax], v[vmin,vmax] 部分的参数曲面图形,如果不选选择项参数, 则对应的选择项值取默认值。
例11 画出参数曲面方程为 x=cosh (u) cos (v) ,y= cosh(u) sin(v), z = u , 满足-2 u 2, 0 v 2的参数曲面图形 解:Mathematica 命令: In[12]:=ParametricPlot3D[ { Cosh[u]*Cos[v], Cosh[u]*Sin[v], u }, {u, -2, 2}, {v, 0, 2 Pi} ]
例12: 画出单位球面图形 解: 单位球面的参数曲面方程为 x= cos (t) cos(u) ,y= sin(t) cos(u), z = sin(u ), 满足0 u 2, 0 v 2 Mathematica 命令为: In[13]:=ParametricPlot3D[{Cos[t]Cos[u],Sin[t]Cos[u],Sin[u]},{t,0,2Pi},{u,0,2Pi}]
例13: 画出参数曲面方程为 x=u cos(u) (4+cos(v+u)) ,y=u sin(u) (4+cos(v+u)), z = usin(v+u) , 满足0 u 4, 0 v 2 的参数曲面图形, 图形的取点数为x方向60个点y方向12个点 解: Mathematica 命令为: In[14]:=ParametricPlot3D[{u*Cos[u]*(4+Cos[v+u]), u*Sin[u]*(4+Cos[v+u]), u*Sin[v+u]},{u,0,4 Pi},{v,0,2 Pi}, PlotPoints->{60,12} ]
2.7 画平面散点图 命令形式1:ListPlot[{{x1, y1}, {x2, y2}, …, {xn, yn} }, option1->value1,…] 功能:在直角坐标系中画出点集{x1, y1},{x2, y2}, …,{xn, yn}的散点图,如果没有选择项参数, 则选择项值取默认值 命令形式2:ListPlot[{y1,y2,…,yn} , option1->value1,…] 功能:在直角坐标系中画出点集{1,y1},{2,y2},…,{n, yn}的散点图,如果没有选择项参数, 则选择项值取默认值 命令形式3: ListPlot[{ {x1, y1}, {x2, y2}, …, {xn,yn} } ,PlotJoined->True] 功能:将所输入数据点依次用直线段联结成一条折线。 注意:命令中的选择项参数及其取值同于一元函数绘图, 如果画出的散点图的点太小,可以用选择项参数PlotStyle->PointSize[r]增大散点图的点, r表示点的半径, 一般取<0.1的值。
例14: 画出由函数Table[x^3, {x, 0, 5, 0.2}] 产生的二维点图 解:Mathematica 命令: In[15]:= t= Table[x^3, {x, 0, 5, 0.2}]; ListPlot[ t, PlotStyle ->{ RGBColor[0, 1, 0], PointSize[0.08] } ]
例15: 已知科学家在某海域观察到海平面的年平均高度表如下,由表的数据绘制出二位数据点图,并画出其折线图。 年份 例15: 已知科学家在某海域观察到海平面的年平均高度表如下,由表的数据绘制出二位数据点图,并画出其折线图。 年份 1 2 3 4 5 6 7 8 9 10 11 12 13 海拔 5.0 11.0 16.0 23.0 36.0 58.0 29.0 20.0 10.0 8.0 3.0 0.0 0.0 年份 14 15 16 17 18 19 20 21 22 23 24 25 海拔 2.0 11.0 27.0 47.0 63.0 60.0 39.0 28.0 26.0 22.0 11.0 21.0 解:应用Mathematica画二维点图的命令,并且因为年份是从1到25,输入命令行: ln[16]:= f=ListPlot[{5.0,11.0,16.0,23.0,36.0,58.0,29.0,20.0,10.0,8.0,3.0,0.0,0.0, 2.0,11.0,27.0, 47.0,63.0,60.0,39.0,28.0,26.0,22.0,11.0,21.0} PlotStyle- >PointSize[0.05], AxesLabel->{年份,海拔}] *画散点图
Show[f, g] *散点图和折线图显示在一起(右) In[17]:= g= ListPlot[{5.0,11.0,16.0,23.0,36.0,58.0,29.0, 20.0,10.0,8.0,3.0,0.0,0.0, 2.0,11.0,27.0, 47.0,63.0,60.0,39.0,28.0,26.0,22.0,11.0,21.0}, PlotJoined->True, AxesLabel->{年份,海拔}] *做折线图(左) Show[f, g] *散点图和折线图显示在一起(右)
例16:画出在[0,1]取值的随机函数所产生的21个随机点的散点图 解:Mathematica 命令: In[19]:= data=Table[Random[], {i, 0, 20}]; ListPlot[data, PlotStyle ->PointSize[0.05]]
2.8 画平面等高线图 二元函数z = f (x,y) 在z取均匀间隔数值所对应的平面等值线系列构成该函数的等直线图。从等直线图可以了解该二元函数特性。Mathematica的绘制平面等高线图的命令为: 命令形式: ContourPlot[ f[x, y] , {x, xmin , xmax}, {y,ymin , ymax}, option1->value1,… ] 功能:画出二元函数z = f(x,y) 当z取均匀间隔数值所对应的平面等值线图, 其中变量(x,y)满足xmin x xmax, ymin y ymax,如果不选选择项参数, 则对应的选择项值取默认值。 注意:命令中的xmin, xmax, ymin, ymax应该是具体的数字或可以计算出数值的表达式, 该命令只能画在矩形区域上的二元函数等高线图。此外, 该命令的选项参数除了同于Mathematica的平面曲线绘图的选项外, 还有如下的常用选项:
选项 默认值 意义 PlotPionts 15 函数在每个方向的取样点数 PlotRange Automatic Z值的范围,可以用{z1,z1}取值 Contours 10 从z1到z2之间等值线的条数 ContourShading True 是否使用明暗效果 ContourSpacing 相邻等值线之间的z值间距
例17: 画出函数z = x 2+y 2 在区域[-2,2][-2,2]上具有15条等值线的图形, 不使用阴影效果 解: In[20]:= ContourPlot[x*x+y*y, {x,-2,2},{y,-2,2}, ContourShading->False,Contours->15]
2.9 用图形元素作图 (1) 二维图元作图 图元作图分二维图元作图和三维图元作图。 二维图元作图需要先用Graphics[二维图形元素表]函数得到图形文件, 然后再用图形显示命令Show [图形文件]的形式显示完成的二维图形。常用的二维图形元素有(见表) 命令形式: Show[Graphics[二维图形元素表] , option1->value1,… ] 功能:画出由二维图形元素表组合的图形。 注意: 可以在二维图形元素表中加入修饰图元的函数。 Graphics[…]称为图形文件。
返回 图形元素 几何意义 Point[{x, y}] 位置在直角坐标{x, y}处的点 Line[{x1,y1}, {x2,y2},…{xn,yn}] 依次用直线段连接相邻两点的折线图 Rectangle[{xmin, ymin}, {xmax,ymax}] 以{xmin,ymin}和{xmax,ymax}为对角线坐标的矩形区域 Polygon[{{x1,y1},{x2,y2},…,{xn,yn}}] 以{x1,y1},{x2,y2},…,{xn,yn}为顶点的封闭多边形区域 Circle[{x,y}, r] 圆心在直角坐标{x,y},半径为r的圆 Circle[{x,y}, {rx,ry}]] 圆心在直角坐标{x, y},长短半轴分别为rx和ry的椭圆 Circle[{x,y}, r,{t1,t2}] 以直角坐标{x,y}为圆心, r为半径,圆心角度从t1到t2的一段圆弧 Disk[{x,y},r] 圆心在直角坐标{x,y},半径为r的实圆盘 Disk[{x,y},{rx, ry}]] 圆心在直角坐标{x,y},长短半轴分别为rx和ry的椭圆盘 Text[expr,{x,y}] 中心在直角坐标{x, y}的文本 返回
例17:画出端点在{-1,-1},{1,-2}的虚线段 解:In[21]:=Show[Graphics[{Dashing[{0.05, 0.01}], Line[{{-1, -1}, {1, -2}}] }] ] 一般图元表{Dashing[{r1,r2,r3,r4,…}], Line[{p1,p2}]}表示在直线Line[{p1,p2}]上依次取长r1实线段, 擦除长r2实线段, 取长r3实线段,擦除长r4实线段的周期形式画出虚线段。
例18:画出中心和长短半轴满足公式,{3n,0},{n/4,2-n/4}], n=1,2,3,4的四个椭圆盘图形 (左图)解:In[21]:=Show[Graphics[Table[ Disk[{3n,0},{n/4,2-n/4}],{n,4}]], AspectRatio->Automatic] 例19:画出在区域[0,1][0,1]内的8个随机游动点的折线图,并在图中给出文本标记(右图) 解: In[22]:= t=Table[{Random[],Random[]},{i,1,8}]; In[23]:= Show[Graphics[{Line[t],Text["Random move",{0.5, 1}]}]]
Polygon[{{x1,y1,z1},{x2,y2,z2}…}] (2)三维图元作图 三维图元作图需要先用Graphics3D[三维图形元素表]函数得到图形文件,然后再用图形显示命令Show [图形文件]的形式显示完成的三维图形。 命令形式: Show[Graphics3D[三维图形元素表] , option1->value1,… ] 功能:画出由三维图形元素表组合的图形,其选择项参数及取值同于空间绘图参数 常用的三维图形元素中有: 三维图形元素: 几何意义: Point[{x, y, z}] 空间直角坐标{x, y, z}点 Line[{{x1,y1,z1}, {x2,y2,z2},…}] 通过{x1,y1,z1},{x2, y2, z2}…的折线 Polygon[{{x1,y1,z1},{x2,y2,z2}…}] 依次连接点{xi, yi, zi}的填充多边形 Cuboid[{x0,y0,z0}, {x1,y1,z1}] 以{x0,y0,z0}和{x1,y1,z1}为对角线坐标的立方体
2.10 图形的重画 在每次执行绘图命令后,会看到在图形下面的输出行显示出一行字母 “-Graphics-”,这意味着执行绘图命令后还产生了一个图形文件。你可以用命令InputForm[%输出行号]察看该绘图文件的内容。例如: In[24]:=ListPlot[Table[x*Sin[x], {x, 0, 3, 0.2}], PlotStyle->PointSize[0.03]]
In[25]:=InputForm[%24] Out[25]//InputForm= Graphics[{PointSize[0.03], {Point[{1, 0}], Point[{2, 0.03973386615901225}], Point[{3, 0.1557673369234602}], Point[{4, 0.3387854840370213}], Point[{5, 0.5738848727196184}], Point[{6, 0.841470984807897}], Point[{7, 1.118446903160671}], Point[{8, 1.379629621983844}], Point[{9, 1.599317764866408}], Point[{10, 1.752925735580751}], Point[{11, 1.818594853651363}], Point[{12, 1.778692088403099}], Point[{13, 1.621111633322762}], Point[{14, 1.340303566735807}], Point[{15, 0.937966820436533}], Point[{16, 0.4233600241796004}]}}, {PlotRange -> Automatic, AspectRatio -> GoldenRatio^(-1), DisplayFunction :> $DisplayFunction, ColorOutput -> Automatic, ……………………………………… DefaultFont :> $DefaultFont, RotateLabel -> True, Frame -> False, FrameStyle -> Automatic, FrameTicks -> Automatic, FrameLabel -> None, PlotRegion -> Automatic}]
常用的图形重画命令有: 命令形式1:Show[plot] 功能:重新显示图形Plot 命令形式2:Show[plot , option1->value1, …] 功能:按照选择设置option1->value1,…重新显示图形Plot 命令形式3:Show[plot1 , plot2, …,plotn] 功能:在一个坐标系中,显示n个图形 plot1 , plot2,…,plotn
例18: 在同一坐标系中画出两个函数y = cos 2x ,y = ln x ,的图形,自变量范围为:1 x 3 解:Mathematica 命令: In[26]:= g1=Plot[Sin[2x], {x,1,3}, DisplayFunction->Identity]; *将图形文件存在变量g1中 In[27]:= g2=Plot[Log[x] , {x,1,3}, DisplayFunction->Identity]; *将图形文件存在变量g2中 In[28]:=Show[g1,g2, DisplayFunction->$DisplayFunction]
Show[y, PlotRange->{{0.6, 0.8},{-1, 1}}]; (见右图) 例19: 先画出函数y=cos(e x2 )在 [0,1.5]部分的图形,再显示该图形自变量在0.6至0.8部分的图形。(见左图) 解: In[29]:= y= Plot[ Cos[ Exp[x*x] ] , {x, 0, 1.5}]; Show[y, PlotRange->{{0.6, 0.8},{-1, 1}}]; (见右图)
Out[29]:= -SurfaceGraphics- 切面图形技巧 三维空间的切面可以是平行X.Y.Z轴的,也可以是任意角度放置的,但是共同的特征是所有的点在一个平面上 例: In[29]:= y1= Plot3D[ 0, {x, -3, 3} , {y, -3, 3}] Out[29]:= -SurfaceGraphics-
Out[30]:= -SurfaceGraphics- In[30]:= y2 = Plot3D[ Sin[x + Sin[y]] , {x, -3, 3} , {y, -3, 3}] Out[30]:= -SurfaceGraphics-
Out[31]:= -SurfaceGraphics- In[31]:= Show[y1, y2] Out[31]:= -SurfaceGraphics-
Out[32]:= -SurfaceGraphics- In[32]:= y3 = Plot3D[ -0.5*x , {x, -3, 3} , {y, -3, 3}] Out[32]:= -SurfaceGraphics-
Out[33]:= -SurfaceGraphics- In[33]:= Show[y3, y2] Out[33]:= -SurfaceGraphics-
Out[34]:= -SurfaceGraphics- In[34]:= y4= Plot3D[ 0.5*y, {x, -3, 3} , {y, -3, 3}] Out[34]:= -SurfaceGraphics-
Out[35]:= -SurfaceGraphics- In[35]:= Show[y4, y2] Out[35]:= -SurfaceGraphics-
Out[36]:= -SurfaceGraphics- In[36]:= y5= Plot3D[ -0.2*x + 0.4*y , {x, -3, 3} , {y, -3, 3}] Out[36]:= -SurfaceGraphics-
Out[37]:= -SurfaceGraphics- In[37]:= Show[y5, y2] Out[37]:= -SurfaceGraphics-
第二章结束! 谢谢大家!