Изменить диапазон цветов в сюжете (imshow)? - PullRequest
0 голосов
/ 11 марта 2020

Значения в моей матрице под названием «энергия» достаточно близки друг к другу: например, одно значение может быть 500, другое - 520. И я хочу более точно увидеть разницу в цвете на моем графике. Как и для наименьшего значения в моих данных, это должен быть очень темный цвет, а для самого высокого значения - очень яркий.

У меня есть следующий код:

fig = plt.figure(figsize=(10, 10))
ax = fig.add_subplot(111)
plt.imshow(energy[0:60, 0:5920], cmap='Reds')
ax.axes.set_aspect(aspect=100)
plt.grid(color='yellow')
plt.title('My plot')
plt.xlabel('Length points')  
plt.ylabel('Time points(seconds)')
import matplotlib.ticker as plticker
loc = plticker.MultipleLocator(base=500)
ax.xaxis.set_major_locator(loc)
plt.show()

I получить следующий график: график энергии

Другими словами, я бы хотел сделать этот график более ярким .

Заранее спасибо.

1 Ответ

0 голосов
/ 11 марта 2020

Пользовательский диапазон можно установить либо через пользовательскую цветовую карту, либо отрегулировав значение диапазона, чтобы оно отображалось с использованием ключевых слов vmin и vmax. Например:

from matplotlib.pyplot import subplots
import numpy as np
fig, ax = subplots()
h = ax.imshow(np.random.rand(10,10) * 10, vmin = 0,\
     vmax = 2, cmap = 'Reds')
fig.colorbar(h)
fig.show()

, который производит цвета в пределах 0, 2 значения

enter image description here

В качестве альтернативы вы можете изменить масштаб своих данных или настроить вашу цветовую карту, смотрите документацию maplotlib для получения дополнительной информации.

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