Границы участка НАН области в контуре - PullRequest
0 голосов
/ 19 ноября 2018

Я пытаюсь очерчивать некоторые данные с помощью NaN (нет решения).Я хочу обозначить границу NaN черной линией.До сих пор я только нашел, как заштриховать всю область NaN ( заштриховать область NaN в контурной диаграмме в matplotlib ), но мне просто нужен контур.

fig, ax = plt.subplots()

d = np.random.rand(10, 10)
d[2, 2], d[3, 5] = np.nan, np.nan

plt.contour(d)
plt.show()

Я получаю:

enter image description here

Я бы хотел:

enter image description here

1 Ответ

0 голосов
/ 19 ноября 2018

Вы можете нарисовать еще один контур замаскированных областей.Для этого можно замаскировать данные массивом numpy.ma.Затем используйте его маску для построения другого контура на уровне, близком (но не совсем) к нулю.

import numpy as np
import matplotlib.pyplot as plt

fig, ax = plt.subplots()

d = np.random.rand(10, 10)

mask = np.zeros(d.shape, dtype=bool)
mask[2, 2], mask[3, 5] = 1, 1

masked_d = np.ma.array(d, mask=mask)

plt.contour(masked_d)

plt.contour(mask, [0.01], colors="k", linewidths=3)

plt.show()

enter image description here

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