matshow()可以绘制点或圆而不是正方形吗?
问题描述:
我正在使用Python 3中的一个简单的“生命游戏”实现,我正在使用matplotlib进行可视化。我想知道是否可能为matshow()
绘制点或圆而不是正方形?如果可能的话,如何去做。一个典型的matshow情节matshow()可以绘制点或圆而不是正方形吗?
例子:http://i.stack.imgur.com/td1si.png
我正在寻找:http://blogs.mathworks.com/images/cleve/glider_gun_2.png
答
尽管我没有找到任何改变matshow方块形状的东西,但您可以使用scatter来绘制您想要的东西。
import numpy as np
import matplotlib.pyplot as plt
matrix = np.random.rand(5,6)
#now your points and values are:
nx,ny = matrix.shape
X,Y,values = zip(*[ (i,j,matrix[i,j]) for i in range(nx) for j in range(ny) ])
fig = plt.figure()
ax = fig.add_subplot(111)
ax.scatter(X,Y,s=5000,c=values,cmap='viridis',alpha=0.5)
也许你想要一个小点的大小,但是本作的剧情看起来更加花哨。 ] 1
感谢您的回复,但他们使用的是plt.scatter(),而不是matshow()。 – user3787097