Как настроить цветовую панель python matplotlib - PullRequest
0 голосов
/ 08 января 2019

Я сгенерировал plot с colorbar в python.
Вот код, который я сейчас использую:

import openmc
import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.axes_grid1 import make_axes_locatable

sp1 = openmc.StatePoint('statepoint.550-20.h5')
tally1 = sp1.tallies[1]
flux1 = tally1.mean.ravel()
y = np.reshape(flux1, (200,200))

ax = plt.subplot(111)
Z = ax.imshow(y, cmap=plt.cm.viridis)

divider = make_axes_locatable(ax)
cax = divider.append_axes("right", size="10%", pad=0.05)

plt.colorbar(Z, cax=cax)
plt.show()

, который генерирует график, показанный в: enter image description here

Теперь мой вопрос: как настроить цветовую панель?

Я хочу установить maximum и minimum значение (скажем, 0.000000 - 0.000050) для color scale, и я хочу, чтобы график отображал карту цветов при определении масштаба, а не сгенерированного масштаба автоматически из моего значения массива y.

Я запускаю python с терминала Mac.

Любая помощь приветствуется. Спасибо.

Ответы [ 2 ]

0 голосов
/ 08 января 2019

Я решил это. Вот как сейчас,

import openmc
sp1 = openmc.StatePoint('statepoint.550-20.h5')
tally1 = sp1.tallies[1]
flux1 = tally1.mean.ravel()
import matplotlib.pyplot as plt
import matplotlib.colors
import numpy as np
y = np.reshape(flux1, (200,200)) 
ax = plt.subplot(111)
norm = matplotlib.colors.Normalize(vmin=0.000000,vmax=0.000025)
Z = ax.imshow(y, cmap=plt.cm.viridis, norm=norm )
plt.colorbar(Z)
plt.show()

Теперь у меня есть метка (0.00000, 0.00001, 0.00002, 0.00003, 0.00004, 0.00005) в шкале, и график отображается в соответствии со значением цвета шкалы. Тем не менее, мне нужно руководство о том, как увеличить номер метки с 6 до 11 до (0.00000, 0.000005, 0.00001, 0.000015, 0.00002, 0.000025, 0.00003, 0.000035, 0.00004, 0.000045, 0.00005). Спасибо.

0 голосов
/ 08 января 2019

Обычно plt.clim(0.000000, 0.000050) должно работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...