Seaborn 串联条形图不同颜色
Seaborn Concatenated Bar Charts Different Colors
我有这个名为 cases_deaths 的数据框:
week daily_case_totals daily_death_totals
0 1 2.0 0.0
1 2 12.0 0.0
2 3 12.0 0.0
3 4 2.0 0.0
4 5 573.0 6.0
5 6 3134.0 12.0
6 7 3398.0 32.0
7 8 992.0 25.0
.
.
.
以及生成 Seaborn 图表的代码:
fig, axes = plt.subplots(2, 1, figsize=(11, 10))
for name, ax in zip(['daily_case_totals', 'daily_death_totals'], axes):
sns.barplot(data=cases_deaths, x='week', y=name, ax=ax, color = 'red')
图表如下所示:
但是我想要上面的是蓝色的,下面的是红色的。不知道该怎么做,我试过将颜色列表传递给 for 循环中的颜色参数,但产生了错误。
只需为 zip
添加一个可迭代的颜色即可:
import seaborn as sns
fig, axes = plt.subplots(2, 1, figsize=(11, 10))
for name, color, ax in zip(('daily_case_totals', 'daily_death_totals'),
('blue', 'red'),
axes):
sns.barplot(data=cases_deaths, x='week', y=name, ax=ax, color=color)
我有这个名为 cases_deaths 的数据框:
week daily_case_totals daily_death_totals
0 1 2.0 0.0
1 2 12.0 0.0
2 3 12.0 0.0
3 4 2.0 0.0
4 5 573.0 6.0
5 6 3134.0 12.0
6 7 3398.0 32.0
7 8 992.0 25.0
.
.
.
以及生成 Seaborn 图表的代码:
fig, axes = plt.subplots(2, 1, figsize=(11, 10))
for name, ax in zip(['daily_case_totals', 'daily_death_totals'], axes):
sns.barplot(data=cases_deaths, x='week', y=name, ax=ax, color = 'red')
图表如下所示:
但是我想要上面的是蓝色的,下面的是红色的。不知道该怎么做,我试过将颜色列表传递给 for 循环中的颜色参数,但产生了错误。
只需为 zip
添加一个可迭代的颜色即可:
import seaborn as sns
fig, axes = plt.subplots(2, 1, figsize=(11, 10))
for name, color, ax in zip(('daily_case_totals', 'daily_death_totals'),
('blue', 'red'),
axes):
sns.barplot(data=cases_deaths, x='week', y=name, ax=ax, color=color)