Python Pyx:删除密度图中重复的颜色条

Python Pyx:删除密度图中重复的颜色条,python,density-plot,pyx,Python,Density Plot,Pyx,我想在一个Python Pyx图中有多个密度图 我可以这样做,得到两个密度图: 问题:如何删除不必要的重复颜色栏 示例代码来自: 从pyx导入* f=canvas.canvas() re_min=-2 re_max=0.5 im_min=-1.25 im_max=1.25 gridx=100 gridy=100 最大电阻=10 re_步骤=(re_最大值-re_最小值)/gridx im_步长=(im_最大值-im_最小值)/gridy d=[] 对于范围内的re_索引(gridx): re=

我想在一个Python Pyx图中有多个密度图

我可以这样做,得到两个密度图:

问题:如何删除不必要的重复颜色栏

示例代码来自:

从pyx导入*
f=canvas.canvas()
re_min=-2
re_max=0.5
im_min=-1.25
im_max=1.25
gridx=100
gridy=100
最大电阻=10
re_步骤=(re_最大值-re_最小值)/gridx
im_步长=(im_最大值-im_最小值)/gridy
d=[]
对于范围内的re_索引(gridx):
re=re_最小值+re_步长*(re_指数+0.5)
对于范围内的im_索引(网格):
im=im_最小值+im_步长*(im_指数+0.5)
c=复合物(re,im)
n=0
z=复数(0,0)
当n
颜色栏称为键图,它是密度样式的属性。您可以将其设置为“无”,即

graph.style.density(gradient=color.rgbgradient.Rainbow, keygraph=None)
它不会在内部删除(自动)键图,但会抑制其输出

您还可以自己设置键图,此外,还可以设置此键图的颜色轴。它也是样式的一个属性,默认情况下是一个简单的线性轴,但可以更改(如固定最小值和最大值)

现在,当您抑制关键帧图时,不确定两个图中是否使用相同的轴(即使您共享相同的轴,只要您仍然使用灵活的范围)。有各种各样的解决方案。让我举一个更高级的例子。:-)

在第一个图形中,我们可以保留plotitem的副本,完成绘图(创建关键点图),然后访问coloraxis,如下所示:

d1 = graph.style.density(gradient=color.rgbgradient.Rainbow)
plotitem = g1.plot(graph.data.points(d, x=1, y=2, color=3, title="iterations"), [d1])
f.insert(g1)
g1.finish()
coloraxis = plotitem.privatedatalist[-1].keygraph.axes['x']
现在,您可以在第二个图形中使用此颜色轴,同时仍然抑制键图:

d2 = graph.style.density(gradient=color.rgbgradient.Rainbow, keygraph=None,
                         coloraxis=graph.axis.linkedaxis(coloraxis))
这样可以确保键图中的比例相同,因此颜色也相同。:-)

d2 = graph.style.density(gradient=color.rgbgradient.Rainbow, keygraph=None,
                         coloraxis=graph.axis.linkedaxis(coloraxis))