注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

随机过程

http://superware.blog.163.com

 
 
 

日志

 
 

Common options of plot2d  

2012-05-19 10:58:16|  分类: Gnuplot |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
1、调整整个画布的大小

set term post eps enh color size 7,5

画布大小用 set terminal 来进行设置,上面的命令将画图板设置为 7in X 5in 的区域

2、调整画图区域

set size square

画图区域用 set size 来进行设置,上面的命令将整个画图区域设置为矩形区域 (坐标单位不等长)。

将坐标单位设置为等长:

set size ratio -1


3、在 maxima 里画图,将坐标单位设置为等长:

plot2d (sin(x), [x,0,7], [gnuplot_preamble, "set size ratio -1"]);

加上 [gnuplot_preamble,  "set size ratio  -1"] 这个选项,就可以调整坐标轴的比例相等。显然  “set size ratio -1" 与 "set size square" 是相排斥的。

或者用下面的设置命令:

set_plot_option ([gnuplot_preamble, "set size ratio -1"])

可以把坐标轴相等设置为缺省选项,不用每次画图的时候输入选项。

4、maxima 里画图:

i )、 直角坐标函数图像:

plot2d (

[fun_a (x), fun_b (x), fun_c (x)],

[x, x_min, x_max], ; 自变量 x 取值范围[grid, 30, 30],
[xlabel, "x orientation"],
[ylabel, "y orientation"],

[logx],
[logy],
[legend, "fun_a (x)", "fun_b (x)", "fun_c (x), ...],
[style, points],
[point_type, bullet,circle,plus,times,asterisk,
box,square,triangle,delta,wedge,nabla,diamond,lozenge
],

[gnuplot_term, default]
[gnuplot_out_file, "filename"],
[gnuplot_mp3d, true],
[gnuplot_preamble, "set size ratio -1"] ; 直接用 gnuplot 命令
);

plot_options;

[
[t, -3, 3],
[grid, 30, 30],
[transform_xy, false],
[run_viewer, true],
[axes,true],
[plot_format, gnuplot_pipes],
[color, blue, red, green, magenta, black, cyan],
[point_type, bullet, circle, plus, times, asterisk,
box, square,
triangle, delta, wedge, nabla, diamond, lozenge],
[palette,[hue, 0.25, 0.7, 0.8, 0.5],
[hue, 0.65, 0.8, 0.9, 0.55],
[hue, 0.55, 0.8, 0.9, 0.4],
[hue, 0.95, 0.7, 0.8, 0.5]],
[gnuplot_term, default],
[gnuplot_out_file, false],
[nticks, 30],
[adapt_depth, 5],
[gnuplot_preamble, "set size ratio -1"],
[gnuplot_default_term_command, "set term pop"],
[gnuplot_dumb_term_command, "set term dumb 79 22"],
[gnuplot_ps_term_command, "set size 1.5, 1.5;
set term postscript eps enhanced color solid 24"],
[plot_realpart, false]
]


ii)、 极坐标、球坐标等参数坐标图像:

plot2d (

[parametric, x(t), y(t), [t, 0, 10*%pi]],

; 参变量函数定义

[x, x_min, x_max], ; 画图区域的宽度

[y, y_min, y_max], ; 画图区域的高度

[nticks, 200], ; 参变量采样点数

[color, blue, red, green, magenta, black, cyan],


[style, points],

[point_type, bullet, circle, plus, times, asterisk,

box, square, triangle, nabla, diamond],


[gnuplot_term, default],

[gnuplot_out_file, false],

[gnuplot_preamble, "set size ratio -1"], ; 直接用 gnuplot 命令

[gnuplot_dumb_term_command, set term dumb 79 22],

[gnuplot_ps_term_command, set size 1.5, 1,5;

set term postscript eps enhanced color solid 24],

[plot_realpart, false]]

);


iii)、散点图:

散点的两种表达方式:

a)、向量 [x 轴向取值向量]、[y 轴向取值向量]表示法,
b)、点集[xi, yi]
表示法

plot2d (

[discrete, [x1,x2,x3,x4,...], [y1,y2,y3,y4,...], ; 直接向量表示

[discrete, ux, uy], ; 向量变量表示

[discrete, [[x1,y1],[x2,y2],[x3,y3],...,[xn,yn]] ; 点集表示法

);

向量表示:

Vx : [x1, x2, x3, x4, ..., xn];

Vy : [y1, y2, y3, y4, ..., yn];
点集表示:

S : [x1,y1],[x2,y2],[x3,y3],[x4,y4],...,[xn,yn]

散点图一般形式:

plot2d (

[

[discrete, [x1,x2,x3,x4,...,xn],[y1,y2,y3,y4,...,yn]],

[discrete, [[x1,y1],[x2,y2],[x3,y3],[x4,y4],...,[xn,yn]]],

]

[style, points],

[point_type, bullet, circle, plus, times, asterisk,

box, square, triangle, nabla, diamond],

);
这里 [discrete, vx, vy] 为散点定义,所以用 [...] 括号括在内。多个散点定义应该分别用 [...] 括住并将所有的散点定义放如一个总括号内。


5、注意:散点函数定义与连续函数定义没有一致性,按照散点函数定义,连续函数应该这样来定义:

[
    [sin(x), [x, -2, 2]],
    [cos(x), [x, -2, 2]]
]


或者定义为:

[
    [sin(x), cos(x), [x, -2, 2]],
]

但上述两种连续函数定义都是错误的,这种不一致性不应该是一个数学思维方式。

只有这样定义的连续函数才是有效的:

[sin(x), cos(x)],

[x, -2, 2]

上例将函数符号定义与定义区域分开的方式显然是不严谨的,也许 gnuplot 起初没有考虑到这个问题。

6、设置画图区域:

set size {
{<xscale>, <yscale>}
{no}square | ratio <r> | noratio
}

打印画图区域:

show size


size is scaled by 1,1

Try to set aspect ratio to 1:1.0


"set size <xx>, <yy>"


Scales the plot itself relative to the size of the cavas.

Scale value less than 1 will cause the plot to not fill the entire canvas.

Scale value larger than 1 will cause only a portion of the plot to fit on the canvas.

Please be aware that setting scale values larger than 1 may cause problems

on some terminal types


"set size ratio -1"


Option causes gnuplot to try to create a graph with an aspect ratio of <r>,
which described as the ratio of the y-axis length to the x-axis length,
within the portion of the plot specified by <xscale> and <yscale>.


The meaning of a negative value for <r> is different.


if (<r> == -1), gnuplot tries to set the

scales so that the unit has the same length on both the x and y axes, which is suitable for

geographical data.


if (<r> == -2), the unit on y has twice the length of the unit on x, and so on


"set size square"


Is a synonym for "set size ratio 1"


7、连续函数、散点函数、参数函数共同画在一张图中:

plot2d (

[

sin(x),

[discrete, vx, vy],

[parametric, 10 + 3 * sin(2*t), 2 + 2 * cos(3*t), [t, 0, 2*%pi]

],

[x, 0, 15],

[gnuplot_preamble, "set size ratio -1"],

[nticks, 100]

);


Maxima interface to Gnuplot 中 plotxd 的常见选项 - superware - 随机过程
 
这个例子就可以看出连续函数、散点函数、参数函数的不一致是多么的突兀了。如果三者定义是一致的,那么就可以这样写:

plot2d (

[

[sin(x), [x, 0, 15]],

[discrete, vx, vy],

[parametric, 10 + 3 * sin(2*t), 2 + 2 * cos(3*t), [t, 0, 2*%pi]

],

[gnuplot_preamble, "set size ratio -1"],

[nticks, 100]

);

这样写就要干净得多,为什么没有这样定义呢,我很纳闷!这样写得出如下错误:

Maxima encountered a Lisp error:
 Error in $PLOT2D [or a callee]: NIL is not of type NUMBER.
Automatically continuing.
To enable the Lisp debugger set *debugger-hook* to nil.

没有这样定义的唯一理由是:

[x, xmin, xmax],
[y, ymin, ymax],

具有全局意义,用以定义图形区域大小。但这个理由是牵强的,如果将其局域化,另外添加一个全局画图区域的命令,这样更合适。
例如:

plot2d (

[

[sin(x), cos(x), [x, xmin, xmax]],

[parametric, cos(t), sin(t), [t, 0, 2*%pi]],

[discrete, vx, vy]

]

[x_range, 0, 5],

[y_range, -2,2],

[nticks, 100]

);

这样定义的话,就更合适了,整个 gnuplot 图形区域由三个对象来控制:画布、画图区、曲线区如下图

Maxima interface to Gnuplot 中 plotxd 的常见选项 - superware - 随机过程

外圈最大的区域为画布,在 gnuplot 中由 set terminal 定义;中间的实线矩形区域为画图区域,由 set size 定义;最里边的虚线区域为实际的曲线区域,由函数自变量 x, y 定义。除非人为设定,在缺省情况下,曲线区域与画图区域重合。

经过对另一个接口 draw 的学习,发现我的思想在 draw 中得到体现。


接口 draw 有三个核心概念:


canvas : 由 dimension 定义,

graphic : 由 xrange,yrange 定义,相当于 plot 接口中的 xrange, yrange,

但其含义是不同的。plot 中的接口只有连续函数局域 scene 的意义。

scene : 任何一个函数或被化的最简单对象称为一个 scene。

由自变量定义域定义。


8)、关于参数方程
参数方程的定义为:

[parametric x(t), y(t), z(t), [t, tmin, tmax]],

这个定义需要说明的是,x,y,z 全是参数 t 的函数,也就是说,自变量只有一个,这是参数方程的本质。

这个球面坐标方程不是参数方程:

[r * sin(u) * cos(v), r * sin(u) * sin(v), r * cos(u)],

而是自变量为极角 v 和方位角 u 的曲面坐标方程。该方程不能像参数方程那样定义。

球(面)坐标的极角 : 指的是 r 在赤道面(xoy)面上的投影与 x 轴的夹角
球(面)坐标方位角 : 指的是 r 与从南到北轴(z轴)的夹角。

Common options of plot2d - superware - 随机过程             Common options of plot2d - superware - 随机过程
                                          (a)                                                          (b)

如图 (a) 中的 $\phi$ 就是上面所说的 u,图 (a) 中的 $\theta$ 就是上面所说的 v,这是数学中的表示方法。在物理中通常用 $\theta$ 表示方位角,而用  $\phi$ 表示极角,图 (b)是物理中的表示方法,这两种表示方法很容易混淆,这里特别说明。
  评论这张
 
阅读(239)| 评论(0)
推荐

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018