Tim*_*aan 2 python data-visualization pandas pie-chart seaborn
对于我的关于电晕跟踪应用程序的论文,我有以下查找 df (在其上使用了 pd.melt):
CTQ-tool opinion
0 Information and awareness purposes unacceptable
1 Information and awareness purposes unacceptable
2 Information and awareness purposes acceptable
3 Information and awareness purposes acceptable
4 Information and awareness purposes unacceptable
... ... ...
2827 Central/Local data storage NaN
2828 Central/Local data storage NaN
2829 Central/Local data storage NaN
2830 Central/Local data storage NaN
2831 Central/Local data storage NaN
2832 rows × 2 columns
Run Code Online (Sandbox Code Playgroud)
我正在使用 Seaborn 库制作以下猫图:
代码:
g = sns.catplot("opinion", col="CTQ-tool", col_wrap=4, data=df_original_small, kind="count", height=6.5, aspect=.8)
Run Code Online (Sandbox Code Playgroud)
但是,我不想在条形图中显示这些,而是希望将它们显示为饼图。Seaborn.catplot 不允许使用 kind='count-pie'。有谁知道解决办法?
在 TiTo 问题之后编辑:
这基本上是我希望看到的所有 8 个条形图发生的情况:
我最终使用 matplotlib 库从底部构建它:
plt.style.use('seaborn')
IAP = df_original_small['Information and awareness purposes'].value_counts().to_frame().T
QE = df_original_small['Quarantine Enforcement'].value_counts().to_frame().T
CTCR = df_original_small['Contact Tracing and Cross-Referencing'].value_counts().to_frame().T
VPID = df_original_small['Voluntary provision of infection data'].value_counts().to_frame().T
QMA = df_original_small['Quarantine Monitoring App'].value_counts().to_frame().T
QRCode = df_original_small['QR code provided registration tracking'].value_counts().to_frame().T
total = pd.concat([IAP, QE, CTCR, VPID, QMA, QRCode])
fig, ax = plt.subplots(nrows=3, ncols=2)
labels = 'acceptable', 'unacceptable'
colors = ['#008fd5', '#fc4f30']
explode = (0, 0.1)
explode2 = (0.2, 0)
plt.title('Pie chart per CTQ-tool')
plt.tight_layout()
ax[0,0].pie(total.iloc[[0]], startangle=90, colors=colors, wedgeprops={'edgecolor': 'black'}, autopct='%1.f%%', explode=explode, shadow=True)
ax[0,0].set_title('Information and awareness purposes', fontweight='bold')
ax[0,1].pie(total.iloc[[1]], startangle=90, colors=colors, wedgeprops={'edgecolor': 'black'}, autopct='%1.f%%', explode=explode, shadow=True)
ax[0,1].set_title('Quarantine Enforcement', fontweight='bold')
ax[1,0].pie(total.iloc[[2]], startangle=90, colors=colors, wedgeprops={'edgecolor': 'black'}, autopct='%1.f%%', explode=explode2, shadow=True)
ax[1,0].set_title('Contact Tracing and Cross-Referencing', fontweight='bold')
ax[1,1].pie(total.iloc[[3]], startangle=90, colors=colors, wedgeprops={'edgecolor': 'black'}, autopct='%1.f%%', explode=explode, shadow=True)
ax[1,1].set_title('Voluntary provision of infection data', fontweight='bold')
ax[2,0].pie(total.iloc[[4]], startangle=90, colors=colors, wedgeprops={'edgecolor': 'black'}, autopct='%1.f%%', explode=explode2, shadow=True)
ax[2,0].set_title('Quarantine Monitoring App', fontweight='bold')
ax[2,1].pie(total.iloc[[5]], startangle=90, colors=colors, wedgeprops={'edgecolor': 'black'}, autopct='%1.f%%', explode=explode, shadow=True)
ax[2,1].set_title('QR code provided registration tracking', fontweight='bold')
fig.suptitle('Public Opinion on CTQ-measures', fontsize=20, y=1.07, fontweight='bold', x=0.37)
fig.set_figheight(10)
fig.set_figwidth(7)
fig.legend(loc='best', labels=labels, fontsize='medium')
fig.tight_layout()
fig.savefig('Opinions_ctq')
plt.show()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20024 次 |
| 最近记录: |