爪形图项

有关用法,请参阅使用setplot.py指定所需的绘图绘制示例.

此类的对象通常由爪形绘图轴对象。

下面显示的示例是典型的设置图假设的函数情节是的实例爪形绘图轴.

另请参见

绘制示例

爪形图项

属性

用户可以设置以下属性:

plot_type(打印类型) : 字符串

所需绘图类型,以下之一:

  • “1d_plot”:使用matplotlib plot命令。

  • “1d_from_2d_data”:从2d数据生成的1d图,例如数据切片或应呈放射状的数据散点图对称的,

  • “1d_fill_between”:指定的两个变量之间的1d填充图属性绘图(_var)填充变量2.

  • “2d_imshow”:二维光栅图

  • “2d_contour”:二维等高线图,

  • “2d_pcolor”:二维pcolor图,

  • “2d_schlieren”:二维纹影图,

  • “2d_patch”:仅单元格和/或面片边缘的二维图,无数据

  • “2d_hillshade”:二维山形图。

外部(outdir) : 字符串

查找要绘制的数据的目录。如果为“无”,则数据来自父级的outdir属性ClawPlotData项。

绘图变量 : 整数 功能

如果是整数,则指定绘制q的哪个分量(使用plot_var=0的Python约定对应于第一个组件)。

如果是一个函数,则此函数应用于每个补丁上的q计算绘制的变量var。签名是

  • var=plot_var(当前数据)

这个当前数据对象保存来自当前帧的数据用于计算要绘制的变量。

附属品 : 字符串 功能

绘制此项后要执行的字符串或函数。如果是字符串,则使用执行官。如果函数,它应该定义为具有单个参数当前数据.

例如:

定义 附属品(当前数据):
修补后 : 字符串 功能

绘制此项后要执行的字符串或函数每个补丁。(AMR计算中可能有一个以上的补丁。)如果是字符串,则使用执行官。如果函数,它应该定义为具有单个参数“数据”,[要显示的文档!]

例如:

定义 修补程序(当前数据):
    光盘 = 当前数据
    打印 “关于补丁号%秒,xlower=%秒、ylower=%秒"\% (光盘.补丁, 光盘.xlower公司, 光盘.伊洛尔)

将打印出中每个补丁的补丁号和左下角绘制面片后进行二维计算。

映射网格 : 布尔

如果为True,则由地图2p的属性潜在的爪形图数据对象应在之前应用于修补程序绘制。

显示 : 布尔

如果为False,则禁止打印此对象。

所需的其他属性取决于plot_type,如下所述如下所示:

所有1d图的特殊属性,plot_type=“1d…”

打印样式 : 字符串

作为fmt有效的任何内容中的组matplotlib plot命令.例如:

  • “-”表示实线,“--”表示虚线,

  • “o”代表圆,“x”代表x,“-o”代表圆和线,

  • “bo”代表蓝色圆圈(但如果颜色属性也已设置这将推翻格式字符串中的颜色)。

颜色 : 字符串

任何matplotlib颜色,例如红色,都可以指定为“r”或“red”或“[1,0,0]”或“#ff0000”。

plot_type=“1d_plot”的特殊属性

没有额外的属性。

plot_type=“1d_fill_between”的特殊属性

这将使用马特普洛特利布fill_between命令.

绘图变量 : 整数 功能

如上所述,定义了一条曲线,

绘图变量2 : 整数 功能

定义fillbetween命令的第二条曲线。默认为零函数。

填充位置(_W) : 字符串

定义哪里fill_between命令的属性。

例子:

厚层岩 = 情节.新建绘图项(plot_type(打印类型)=“1d_fill_between”)
厚层岩.绘图变量 = 0    #表示使用q[:,0]

将在y=q[:,0]和y=0之间生成填充曲线。

例子:

厚层岩 = 情节.新建绘图项(plot_type(打印类型)=“1d_fill_between”)
厚层岩.绘图变量 = 0    #表示使用q[:,0]
厚层岩.绘图变量2 = 1

将产生y=q[:,0]和y=q[:,1]之间的填充曲线。

plot_type的特殊属性=“1d_from_2d_data”

映射2d到1d : 功能

示例:在二维计算中,解q[:,:,0]应为关于(x,y)=(0,0)径向对称,以下将导致单元格值q[i,j,0]与半径r(i,j)的散点图:

定义 q0_vs_半径(当前数据):
    #将2d(x,y,q)转换为散点图的(r,q)
     笨蛋 进口 平方英尺
    x个 = 当前数据.x个
     = 当前数据.
    第页 = 平方英尺(x个**2 + **2)
    问题0 = 当前数据.无功功率,无功功率   #plotvar指定的变量
    #q0=current_data.q[:,:,0]#也可以
    返回 第页,问题0

厚层岩 = 情节.新建绘图项(plot_type(打印类型)=“1d_from_2d_data”)
厚层岩.绘图变量 = 0     #使用q[:,:,0]
厚层岩.打印样式 = “o”  #符号而非线条最适合散点图
厚层岩.映射2d到1d = q0_vs_半径   #上面定义的函数

请参见当前数据有关的描述当前数据参数。

所有二维绘图的特殊属性,plot_type=“二维…”

单元格_显示 : 布尔

如果为True,请在绘图上绘制单元格边缘。属性“amr_celledges_show”应用于amr计算指定单元格边缘应显示在某些级别上,而不是其他。请参见AMR属性.

补丁_显示 : 布尔

如果为True,则绘制面片的边,这在AMR计算中非常有用。

plot_type=“2d_couther”的特殊属性

轮廓_水平 : 笨蛋 阵列

如果是numpy数组,则轮廓级别。如果没有,那么接下来的三个属性用于设置级别。

轮廓_级别 : 整数

等高线层数

轮廓_最小 : 浮动

最小轮廓水平

轮廓_最大值 : 浮动

最大轮廓水平

轮廓_颜色 : 颜色 规范

等高线的颜色。可以是单色,例如“b”或“#0000ff”或颜色映射。

amr轮廓颜色 : 列表 属于 颜色 规范

与其他属性一样(请参见AMR属性下面),您可以指定contourcolors而不是contourcoloramr轮廓颜色是用于每个AMR级别的颜色(或颜色映射)列表,例如:

amr轮廓颜色 = [“k”,“b”,“r”]

在级别1上使用黑线,在级别2上使用蓝色,在所有级别上使用红色后续级别。这很有用,因为使用matplotlib轮廓绘图仪上,您将在一个单元格的顶部看到精细和粗糙的单元格边缘另一个在细化区域(Matplotlib缺少所需的隐藏线去除,可以很容易地从较粗糙的补丁中剔除线条。另请参见下一个属性。)

轮廓_显示 : 布尔值

仅当此属性为true时,才显示轮廓线。这是最通常以下一个属性的形式使用,

amr_contour_show(amr_contour_show) : 列表 元组 属于 布尔运算

确定是否在每个AMR级别上显示轮廓线。有用的如果你只想查看最精细的补丁上的线条。

轮廓_kwargs : 词典

轮廓命令的其他关键字参数。

plot_type=“2d_pcolor”的特殊属性

pcolor_cmap颜色 : 马特普洛特利布 颜色表
pcolor_cmin(颜色/cmin) : 浮动
pcolor_cmax(颜色_最大值) : 浮动

通常,您应该指定pcolor_cmin(颜色/cmin)pcolor_cmax(颜色_最大值)指定应用颜色映射的q值的范围。如果他们未指定,它们将自动选择,可能与帧到帧。此外,如果使用AMR,它们可能因补丁而异,产生了非常令人困惑的情节。

添加颜色栏 : 布尔

如果为True,则会在绘图中添加颜色条。

plot_type=“2d_imshow”的特殊属性

imshow_cmap(显示_映射) : 马特普洛特利布 颜色表
imshow_cmin(显示_最小值) : 浮动
imshow_cmax(显示_最大值) : 浮动

通常,您应该指定imshow_cmin(显示_最小值)显示最大值指定应用颜色映射的q值范围。如果他们未指定,它们将自动选择,可能与帧到帧。此外,如果使用AMR,它们可能因补丁而异,产生了非常混乱的情节。

添加颜色栏 : 布尔

如果为True,则会在绘图中添加颜色条。

plot_type=“2d_hillshade”的特殊属性

山体阴影垂直放大 : 浮动

山体阴影计算的垂直放大。默认值为1。

山体阴影_方位角_度 : 浮动

用于山体遮蔽计算的光源方位角。违约是315(光线来自西北方向)。有效值为从北向顺时针0-360度。建议使用默认值以便大多数人正确解释。

山体阴影高度度 : 浮动

遮光罩光源与地平线的高度角计算。默认值为45。有效值为0-90。

山坡_拉特隆 : 布尔

如果为True,请更正x和y单位与z单位之间的比率乘以1/111200,以反映x和y单位是度。默认值为False。

AMR属性

上面列出的许多属性还有一个与预先挂起的同名自动抄表_。如果设置了此属性,它应该是列表中的元素属于原始名称指定的类型列表的元素将用于不同的AMR细化级别。

例如,以下命令:

厚层岩 = 绘图轴.新乳液(plot_type(打印类型)=“2d_轮廓”)
厚层岩.轮廓_颜色 = “r”

将导致所有AMR级别上的所有轮廓线为红色。另一方面:

厚层岩 = 情节.新建绘图项(plot_type(打印类型)=“2d_轮廓”)
厚层岩.amr轮廓颜色 = [“k”, “b”]

将导致1级面片上的轮廓线变黑2级或更高级别的斑块为蓝色。

请注意,如果列表短于级别数,则最后一个元素重复使用。

如果这两个属性轮廓_颜色amr轮廓颜色已设置,只有amr轮廓颜色使用。

通常的用法是仅在粗略级别上显示单元格边缘,而不是在精细级别上显示级别,例如:

厚层岩.amr单元格_显示 = [1,1,0]

将导致单元格边缘仅显示在级别1和2上,而不是更精细水平。

颜色栏属性

如果add_colorbar==真,则还将使用以下属性(请参见matplotlib颜色栏文档有关描述,请注意,也可以在字典):

颜色栏_收缩 : 浮动
颜色栏标签 : 字符串
颜色条_记号 : 字符串
颜色栏_标签 : 字符串
颜色栏_扩展 : 字符串
颜色栏_kwargs : 词典

其他要传递给的尴尬彩色条.

方法

获取帧(框架编号)

返回类的对象pyclaw.溶液。解决方案包含以下溶液由该对象为帧编号frameno绘制。

获取句柄()

返回此项的句柄。