Вероятные столбцы перекрывают друг друга, и один больший перекрывает все остальные меньшие, так как вы вызываете dodge=False
. Если вы ограничите данные plot_data
только категорией R
с dodge=True
, все категории должны присутствовать. Поскольку графические диаграммы не суммируются, рассмотрите гистограмму с накоплением вместо графовой диаграммы, которая более или менее синонимична гистограмме категориальной переменной.
Для демонстрации см. Следующий воспроизводимый пример:
Данные
import numpy as np
import pandas as pd
from matplotlib import pyplot
import seaborn as sns
### DATA BUILD
data_tools = ['sas', 'stata', 'spss', 'python', 'r', 'julia']
np.random.seed(12220)
random_df = pd.DataFrame({'group': np.random.choice(data_tools, 500),
'int': np.random.randint(1, 10, 500)})
Первый график (посмотрите, как показывает только большая строка 'stata' в int = 6)
flatui = ["#9b59b6", "#3498db", "#95a5a6", "#e74c3c", "#34495e", "#2ecc71"]
fig, ax = pyplot.subplots(figsize=(8,4))
g = sns.countplot(ax=ax,
y="int",
hue="group",
palette=(sns.color_palette("hls", 8) +
sns.color_palette("Paired") +
sns.color_palette(flatui)),
dodge=False,
data=random_df)
g.legend(loc='upper center', ncol=3)
Второй график (показывает другие категории, кроме самого большого бара в 'stata' для int = 6)
fig, ax = pyplot.subplots(figsize=(8,4))
g = sns.countplot(ax=ax,
y="int",
hue="group",
palette=(sns.color_palette("hls", 8) +
sns.color_palette("Paired") +
sns.color_palette(flatui)),
dodge=True, # CHANGING DODGE PARAM
data=random_df.query("int==6")) # FILTERING DATA
g.legend(loc='upper center',ncol=3)