2013-08-03 4 views
1

У меня есть маленькая матрица, и я хочу сделать imshow с ней с interpolation='nearest'. Но это делает дискретные квадратные блоки. Можно ли сделать блоки круглыми и также контролировать размер блока?Matplotlib imshow с круглыми единицами

+0

было бы неплохо, если бы вы могли опубликовать рабочий образец вашего кода, который использует 'interpolation = 'ближайшее'' ... –

ответ

2

Все участки imshow предназначены для заполнения пространства участков («im» является коротким для изображения, а изображения заполняют пространство сюжета), что не соответствует вашему желанию рисовать круги.

A scatter plot в сетке будет простым путем к сетке круга. Вот пример:

enter image description here

from pylab import * 

N = 10 
r0 = 0.6 
x = linspace(0, 1, 10) 
y = linspace(0, 1, 10) 
X, Y = meshgrid(x, y) 
size = rand(N,N) 
c = size 
scatter(X,Y,s=700*size, marker='o', c=c) 

show() 

Вы можете получить больше контроля, если вы используете Plotting примитивов. Два таких примера из галереи matplolib: here и here.

Смежные вопросы