Python Pyx中以下参数的类型是什么?

Python Pyx中以下参数的类型是什么?,python,graphics,pyx,metafont,Python,Graphics,Pyx,Metafont,描述层可用于设置渲染元素的遮挡 canvas.layer(名称,上面=无,下面=无) 此方法创建或获取名为的层 图层本身就是画布,可用于组合绘图操作以进行排序,即每个图层的上方和下方 其他的。图层名称是一个虚线字符串,其中点用于 形成图层组的层次结构。插入图层时,会将其置于 其图层组的顶部,除非该图层组的另一个图层实例 通过上面或下面的参数指定组 我尝试了以下方法: c = canvas.canvas().layer("top") t = canvas.canvas().la

描述层可用于设置渲染元素的遮挡

canvas.layer(名称,上面=无,下面=无)

此方法创建或获取名为的层

图层本身就是画布,可用于组合绘图操作以进行排序,即每个图层的上方和下方 其他的。图层名称是一个虚线字符串,其中点用于 形成图层组的层次结构。插入图层时,会将其置于 其图层组的顶部,除非该图层组的另一个图层实例 通过上面或下面的参数指定组

我尝试了以下方法:

c = canvas.canvas().layer("top")
t = canvas.canvas().layer("bot", below="top")
t = canvas.canvas().layer("bot", below=c)
t = canvas.canvas().layer("bot", below=0)
它们返回时都有一些错误。例如,字符串版本:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/pyx/canvas.py", line 296, in layer
    group, layer = name.split(".", 1)
ValueError: not enough values to unpack (expected 2, got 1)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "EdgeRefining/refine_edges.py", line 174, in <module>
    t = canvas.canvas().layer("bot", below="top")
  File "/usr/lib/python3/dist-packages/pyx/canvas.py", line 312, in layer
    self.items.insert(self.items.index(self.layers[below]), self.layers[name])
KeyError: 'top'
回溯(最近一次呼叫最后一次):
文件“/usr/lib/python3/dist-packages/pyx/canvas.py”,第296行,在层中
组,层=名称。拆分(“.”,1)
ValueError:没有足够的值来解包(预期值为2,实际值为1)
在处理上述异常期间,发生了另一个异常:
回溯(最近一次呼叫最后一次):
文件“EdgeRefining/refine_edges.py”,第174行,in
t=canvas.canvas().layer(“bot”,below=“top”)
文件“/usr/lib/python3/dist packages/pyx/canvas.py”,第312行,在层中
self.items.insert(self.items.index(self.layers[下方]),self.layers[名称])
KeyError:“顶部”

有人使用过此功能吗?

层是画布中的画布实例。以下是一个例子:

从pyx导入*
c=canvas.canvas()
l1=c.层('l1')
l2=c.layer('l2')
l1.填充(路径圆(0,0,2),[color.rgb.red])
填充(路径圆(3,0,2),[color.rgb.green])
c、 writePDFfile()
现在,您可以在创建层
l2
时将
添加到class='l1'
下方,红色圆圈将位于绿色圆圈上方。代码中的问题是,您一直在创建新的画布实例,但是,在同一画布中要使用多个层