如何在matplotlib中绘制像素而不是点?

时间:2017-01-08 03:31:00

标签: python matplotlib

对于所有i,我有一组点{(x1,y1),(x2,y2),....,(xn,yn)} whit x_i和y_i整数。我希望绘制它们,但是我不喜欢它们是点的正方形像素,中心位于点和边长1,从点左边开始1/2,到右边结束1/2。例如,点(1,1)应该是:point (1,1)

1 个答案:

答案 0 :(得分:7)

您需要的是imshow。 一个小例子,其中每个正方形是一个像素(3x3的非常小的图像)。颜色由数组的数据值给出。如果数据只有0和1,则它只有2种颜色。

import matplotlib.pyplot as plt

data = np.random.random(size=(3, 3))

plt.imshow(data, interpolation='nearest')
plt.xticks(np.arange(0.0, 2.5, 1), np.arange(0.5, 2, 0.5))
plt.yticks(np.arange(2, -0.5, -1), np.arange(0.5, 2, 0.5))

imshow example

注意导致它不插入点的interpolation='nearest',而是向我们显示正方形。