Парный график Сиборна с одним набором данных, имеющим только значения NaN, приводит к неожиданному поведению.Python

Программы на Python
Anonymous
 Парный график Сиборна с одним набором данных, имеющим только значения NaN, приводит к неожиданному поведению.

Сообщение Anonymous »

У меня есть два набора данных, которые я хотел бы построить на одном угловом графике. В некоторых случаях один из наборов данных может быть пустым, но мне все равно хотелось бы, чтобы в легенде отображались ключи для обоих наборов данных. Я думал, что установка пустого набора данных в значения np.nan позволит добиться этого, но вместо этого набор данных со значениями np.nan каким-то образом отображает одну точку данных с действительным знаком.
Вот MWE с выходными данными. Как я могу удалить эту призрачную точку, сохранив легенду как есть?

Код: Выделить всё

import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
import pandas as pd

d = {r'x': [np.nan], r'y': [np.nan], r'z': [np.nan] }
df1 = pd.DataFrame(data=d)

d = {r'x': np.random.rand(100), r'y': np.random.rand(100), r'z': np.random.rand(100) }
df2 = pd.DataFrame(data=d)

df1['status'] = 'Success'
df2['status'] = 'Fail'

df12 = pd.concat([df2, df1])

pp = sns.pairplot(df12, hue='status', corner=True, diag_kind='hist', diag_kws={'common_norm': False, 'stat': 'probability'})
pp._legend.set_bbox_to_anchor((0.95, 0.75))
plt.tight_layout()
plt.show()
Изображение


Подробнее здесь: https://stackoverflow.com/questions/797 ... pected-beh

Вернуться в «Python»