categories
=
[
'A'
,
'B'
,
'C'
,
'D'
,
'E'
]
values1
=
[
20
,
35
,
30
,
25
,
40
]
values2
=
[
15
,
25
,
20
,
30
,
35
]
groups
=
[
'Group 1'
,
'Group 2'
,
'Group 1'
,
'Group 2'
,
'Group 1'
]
data
=
pd.DataFrame({
'categories'
: categories,
'values1'
: values1,
'values2'
: values2,
'groups'
: groups})
data[
'angle1'
]
=
np.deg2rad(data[
'values1'
])
data[
'angle2'
]
=
np.deg2rad(data[
'values2'
])
fig, ax
=
plt.subplots(figsize
=
(
8
,
8
), subplot_kw
=
dict
(polar
=
True
))
sns.barplot(x
=
'categories'
, y
=
'angle1'
, hue
=
'groups'
, data
=
data,
ax
=
ax, palette
=
'Set1'
)
sns.barplot(x
=
'categories'
, y
=
'angle2'
, hue
=
'groups'
, data
=
data, ax
=
ax,
palette
=
'Set2'
, alpha
=
0.7
)
ax.set_rticks([])
ax.set_title(
'Grouped Circular Bar Plot'
, pad
=
20
)
handles, labels
=
ax.get_legend_handles_labels()
ax.legend(handles, labels, title
=
'Groups'
, loc
=
'upper right'
, bbox_to_anchor
=
(
1.3
,
1
))
plt.show()