Мозаичный сюжет statsmodels с пустыми значениями

Я хотел бы создать мозаичный сюжет с statsmodels.graphics.mosaicplot.mosaic() с данными, которые бросают пустые ячейки. Они выглядят безобразно на получающемся графике, потому что ячейка создается независимо от ее размера.

Пример:

import matplotlib.pyplot as plt

import pandas as pd
from statsmodels.graphics.mosaicplot import mosaic

df = pd.DataFrame({'size' : ['small', 'large', 'large'],
                   'length' : ['long', 'short', 'long']})

print(df)  # note that the 'short'-'small' combination is missing

fig = plt.figure()
ax = fig.add_subplot(111)
mosaic(df, ax=ax)

Создает график с пустой ячейкой для значения "short small":

Есть ли способ избежать создания этой ячейки или впоследствии удалить ее из графика?

1 ответ

Отправьте анонимную функцию, чтобы исключить метки со значениями 0:

labels = lambda k: "\n".join(k) if df[k] != 0 else ""
mosaic(df, ax=ax, labelizer=labels)
Другие вопросы по тегам