我根据这个实验构建了一个小模拟: https://www.youtube.com/watch?v=plVk4NVIUh8,显示细菌随时间的演变。
我已经在培养皿的边缘初始化了一些具有随机抗性的细菌:
随着细菌的扩散,来自非占用空间的对比度越来越少,经过100代,它变得像这样:
我使用plt.matshow(Map)制作图片,其中Map是2D numpy数组,细菌阻力值(总是大于0),非占用空间表示为0.我尝试了不同的颜色图,但是它没有帮助。我的目标是使非占用空间呈现恒定的深色, 受感染的空间有些浅色,可以注意到不同的阻力值。
你能帮帮我吗?
答案 0 :(得分:1)
你可以得到一个暗色的colormap用于低值,例如'magma'和define,因为Andreas建议使用'vmin'值。 e.g。
import matplotlib.pyplot as plt
from scipy import rand
a = rand(10, 20) + 0.5
a[0, 0] = 0
cmap = plt.get_cmap('magma')
img = plt.pcolormesh(a, cmap=cmap, vmin=0,)
img.figure.show()
干杯! 小号
答案 1 :(得分:0)
我能够使用logaritmic normalization进行更好的视觉化:让我们说我的细菌地图具有非常不同的阻力值:
maxval=np.max(sumh)
minval=np.min(sumh)
colormap = plt.get_cmap('magma')
norm = mpl.colors.LogNorm(vmax=maxval, vmin=minval)
sumMap是绘制的numpy数组,包含小数,中号和大数。 构建色彩映射和规范化器:
img = plt.pcolormesh(sumh, cmap=colormap, norm=norm)
img.figure.show()
如果我使用规范化,地图就像这样:
img = plt.pcolormesh(sumh, cmap=cmap, )
img.figure.show()
如果我没有:
<?php endif;?>