在Python中叠加两个Voronoi图

在Python中叠加两个Voronoi图,python,matplotlib,voronoi,matplotlib.mlab,Python,Matplotlib,Voronoi,Matplotlib.mlab,我想在Python中叠加两个Voronoi图,但当我绘制这两个图时,它只会给出两个不同的图(我希望两个图都在同一个图上) 这是我的密码: import numpy as np import scipy.spatial as sp import matplotlib.pyplot as plt points = np.array([[0, 0], [0, 1], [0, 2], [1, 0],[1,1],[1, 2], [2, 0], [2, 1],[2, 2]]) vor=sp.Vorono

我想在Python中叠加两个Voronoi图,但当我绘制这两个图时,它只会给出两个不同的图(我希望两个图都在同一个图上)

这是我的密码:

import numpy as np 
import scipy.spatial as sp
import matplotlib.pyplot as plt 
points = np.array([[0, 0], [0, 1], [0, 2], [1, 0],[1,1],[1, 2], [2, 0], [2, 1],[2, 2]])
vor=sp.Voronoi(points)
sp.voronoi_plot_2d(vor)
point_bis=np.array([[0.5,0.5],[1,1.5],[1.5,1],[2,2.5]])
vor2=sp.Voronoi(point_bis)
sp.voronoi_plot_2d(vor2)

谢谢

您需要在同一轴上绘制两个绘图

import numpy as np 
import scipy.spatial as sp
import matplotlib.pyplot as plt 

fig, ax = plt.subplots()

points = np.array([[0, 0], [0, 1], [0, 2], [1, 0],[1,1],[1, 2], [2, 0], [2, 1],[2, 2]])
vor=sp.Voronoi(points)
sp.voronoi_plot_2d(vor, ax=ax)
point_bis=np.array([[0.5,0.5],[1,1.5],[1.5,1],[2,2.5]])
vor2=sp.Voronoi(point_bis)
sp.voronoi_plot_2d(vor2, ax=ax)


编辑:此解决方案不适用于scipy 1.1和matplotlib 3.x的组合。

我收到一条折旧警告“iHold函数在2.0版中被弃用。was_hold=ax.ishold()”@Mr.t事实上,问题是scipy与matplotlib 1.x的向后兼容性。当scipy放弃对matplotlib 1.x版本的支持时,这应该得到解决。这现在破坏了函数(matplotlib 3.x)@js您使用的是哪个scipy版本?应该用scipy1.2+和matplotlib3.x()来解决这个问题。@pask my bad,我用的是scipy1.1(很抱歉)