Я пытаюсь создать график matplotlib contourf
с некоторыми значениями x
, y
и z
. В основном значения z
будут определять цвет графика.
Однако там, где я сейчас нахожусь, один регион (т. Е. Важный для меня регион) очень мал по сравнению с остальными (см. Рисунок), поэтому на самом деле очень сложно увидеть этот конкретный регион (несколько маленьких черных «точек»). ). Поэтому я подумал, возможно ли получить первый уровень (или последний уровень, поскольку в данном случае это отрицательные значения) в другом цвете, или, возможно, обвести его тонкой белой линией или чем-то еще, чтобы можно было увидеть маленький и важные точки?
Я строю с этим кодом:
import matplotlib.pyplot as plt
from matplotlib import rcParams
import matplotlib.colors as colors
import numpy as np
nx = 41
ny = 67
x = np.linspace(0.01, 1, nx)
y = np.linspace(0.01, 2, ny)
x_bc = x[:, np.newaxis]
y_bc = y[np.newaxis, :]
z = x_bc*y_bc
max_value = np.amax(z)
cmapp = plt.get_cmap('Greys')
level_intervals = [100, 90, 80, 70, 60, 50, 40, 30, 20, 10, 8, 1.92, 0]
level_list = [max_value-i for i in level_intervals]
col_bar = plt.contourf(x, y, z.T, level_list, cmap=cmapp)
plt.xlabel('x')
plt.ylabel('y')
plt.colorbar(col_bar, cmap=cmapp)
plt.show()
Я прошу прощения за то, что не предоставил никаких реальных данных, но я не могу воспроизвести данные, использованные для графика ниже (где на самом деле есть несколько небольших количеств / точек почти черного цвета внутри почти черного цвета (странное предложение). Однако размер и способ создания данных z
такой же, как и выше. Однако было получено много вычислений за период до получения данных из рисунка.
