gpt4 book ai didi

python - 在 Imshow 中更改值的颜色

转载 作者:行者123 更新时间:2023-12-04 11:39:57 26 4
gpt4 key购买 nike

我是使用 Python 图形的初学者,我对 matplotlib.pyplot.imshow 函数有疑问。
我的目标是通过在由列表组成的网格中使用随机游走的方法对海上石油泄漏的扩展进行建模。然后,我使用 imshow 来显示结果,所以我有一张由颜色组成的 map ,以查看哪些地方粒子较多,哪些地方较少。这部分似乎有效。值从 0 到 5000。
但是,现在我想在我的 map 中制作一个“海岸”,所以我决定在原始 map 的最后一个列表中放置一个 n 值 -10 的列表,但我不知道如何使它在图表上有所不同由imshow显示,因为值-10与值0的颜色相同。图为imshow显示的内容;底部的海岸不是很明显。
My python graph
例如,有可能使“海岸”变成棕色?
此外,我想我使用了颜色图 'viridis' 并且我不能为海岸选择 -1000 的值,因为它会使所有其他值都具有相同的颜色,因为在 -1000 到 5000 的范围内,0例如,100 将接近,因此将以相同的颜色显示。
如果我不是很清楚,请告诉我。
非常感谢您的时间和帮助。
梅琳达
我的代码是:

def propacote(c0,D,taille,n):
"""c0 est la concentration initiale, D le taux de particules qui changent de case, taille le nombre de cases par ligne du quadrillage, n le nombre de parcours de tout le tableau"""

import random as rd

carte=[[0 for k in range(taille)] for k in range(taille)]

carte[0][0]=c0

particule=[carte[0][0]]

carte[-1]=[100 for cote in range(taille)] #coast creation

for passage in range(n):

for ligne in range(len(carte)):
for case in range(len(carte[0])):

for k in range(int(D*carte[ligne][case])):
然后我使用随机游走方法,例如一般情况:
deplacement= rd.randint(1,4)

if deplacement==1: #moving down
carte[ligne][case]=carte[ligne][case]-1
carte[ligne+1][case]=carte[ligne+1][case]+1

elif deplacement==2: #move to the left
carte[ligne][case]=carte[ligne][case]-1
carte[ligne][case+1]=carte[ligne][case+1]+1

elif deplacement==3: #moving up
carte[ligne][case]=carte[ligne][case]-1
carte[ligne-1][case]=carte[ligne-1][case]+1

else: #move to the left
carte[ligne][case]=carte[ligne][case]-1
carte[ligne][case-1]=carte[ligne][case-1]+1
最后,我使用 imshow 来显示图形:
#graph
import numpy as np
import matplotlib.pyplot as plt
plt.figure()


if passage==n-1:
for cote in range(len(carte[-1])):

if carte[-1][cote]!=100: #coast is impacted

carte[-1][cote]=-20
quadrillage = np.array(carte)
print(quadrillage)


plt.imshow(quadrillage,interpolation='none')
plt.colorbar()
plt.show()

return carte

最佳答案

sections以下链接中的 TwoSlopeNorm 和 Custom normalization 似乎正是您要找的

关于python - 在 Imshow 中更改值的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65759544/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com