如何在plt.imshow()中设置markerize

时间:2017-07-13 11:05:07

标签: python matplotlib imshow spy

我有以下问题: 我想使用色彩图绘制邻接矩阵。现在我想调整markerize,因为你不能真的 因为矩阵非常大,所以看到图片中的点。我怎样才能做到这一点?使用spy(),就像这样。

plt.spy(adj, markersize = 1)

我希望有这样的东西:

plt.imshow(adj, cmap = colormap, markersize= 1)
然而,这不起作用。 感谢

1 个答案:

答案 0 :(得分:1)

您可以使用散点图,该散点图允许使用s参数设置标记大小。

ax.scatter(X,Y,c=z, s=36, marker="s")

比较间谍,imshow和散点图的示例。

import matplotlib.pyplot as plt
import numpy as np

fig, (ax1,ax2,ax3) = plt.subplots(ncols=3, figsize=(8,4))

z = np.random.rand(20, 20)
X,Y = np.meshgrid(np.arange(z.shape[1]),np.arange(z.shape[0]))
z[5] = 0.
z[:, 12] = 0.

ax1.spy(z, markersize=5, precision=0.1, origin="lower")
ax2.imshow(z, origin="lower")
ax3.scatter(X,Y,c=z, s=36, marker="s")
ax3.set_aspect("equal")
ax3.margins(0)

ax1.set_title("spy")
ax2.set_title("imshow")
ax3.set_title("scatter")

plt.show()

enter image description here