我有一个I(72x72)矩阵,它表示二维空间中的一条矩形线,我想用下面的matplotlib代码将其作为概率分布图的交点覆盖:
# let mass be a logarithmic scale of masses (length = 72)
# let velocities be a linear scale of velocities (length = 72)
# let distribution be a 2D probability distribution (72x72)
# let contour be a 72x72 identity matrix
import matplotlib
from matplotlib import pyplot as plot
from mpl_toolkits.mplot3d import Axes3D
fig = plot.figure()
plot.title(title)
plot.xlabel('Velocities (km/s)')
plot.ylabel('Mass (grams), 10^X')
plot.axis([0, 40, -6.65, -5.00])
levels = np.linspace(0, 0.0018, 25)
cs_dist = plot.contourf(
mass, velocities, distribution, alpha=0.95, levels=levels
)
fig.colorbar(cs_dist, format="%.5f")
cs_shield = plot.contour(
mass, velocities, contour, 1,
levels=[0], colors='w', linestyles='solid'
)
plot.clabel(cs_shield, inline=True)
plot.show()
此代码生成下图:
我本以为只有一行,但有两行。。。我做错什么了?你知道吗
因为我不能执行您的示例(为了将来,您可以通过构造一些伪数据集使其可运行,它只需给出相同的两行行为),所以我将其修改为自包含的。我在
matplotlib
1.5.1中没有看到这个bug:相关问题 更多 >
编程相关推荐