我一直试图点画等高线图来显示值具有统计意义的位置。但是,当我在重要性相同的子图中执行此操作时,根据填充点画的随机位置,点画看起来不同。我已经复制了下面的问题。有没有办法确定点画的位置,以便在绘制时看起来相同?或者有更好的方法来点画情节吗?
这两个子图正在绘制完全相同的数据,但点画看起来不同。
import numpy as np
from matplotlib import pyplot as plt
#Create some random data
x = np.arange(0,100,1)
x,y = np.meshgrid(x,x)
stipp = 10*np.random.rand(len(x),len(x))
fig =plt.figure(figsize=(12,8))
ax1 = plt.subplot(121)
ax2 = plt.subplot(122)
#Plot stippling
ax1.contourf(x,y,stipp,[0,4],colors='none',hatches='.')
ax2.contourf(x,y,stipp,[0,4],colors='none',hatches='.')
plt.show()
答案 0 :(得分:0)
因此,如果有人想知道,划分具有相似统计意义的多个子图的最佳方法是使用上面建议的散点图而不是轮廓。只需确保谨慎地对数据进行采样,这样就不会有高密度的点相邻。
import numpy as np
from matplotlib import pyplot as plt
#Create some random data
x = np.arange(0,100,1)
x,y = np.meshgrid(x,x)
stipp = 10*np.random.rand(len(x),len(x))
fig =plt.figure(figsize=(12,8))
ax1 = plt.subplot(121)
ax2 = plt.subplot(122)
#Plot stippling
ax1.scatter(x[(stipp<=4) & (stipp>=0)][::5],y[(stipp<=4) & (stipp>=0)][::5])
ax2.scatter(x[(stipp<=4) & (stipp>=0)][::5],y[(stipp<=4) & (stipp>=0)][::5])
plt.show()