如何在Pandas饼图中使标签文本颜色匹配对应扇区颜色
解决方法
完全可以实现。Pandas绘制饼图后,可通过对应的Axes对象直接访问标签文本并修改颜色,具体实现如下:
完整修改代码
import pandas as pd import matplotlib.pyplot as plt index_data = ["AAA", "BBB", "CCC", "DDD"] data = [10,20,20,40] df = pd.DataFrame(data=data,index=index_data,columns=['col1']) color_list = ['#FF7800','#73B22D','#5F5D60','#803C00'] fig, ax = plt.subplots(figsize=(9,9)) df.plot(kind='pie', ax=ax, y=df.columns[0], legend=False, label='', colors=color_list, autopct='%1.1f%%', textprops={'fontsize': 17}) # --- 修改颜色的代码 --- # # 获取饼图扇区对象与对应标签文本 patches = ax.patches labels = ax.get_xticklabels() # 遍历设置标签颜色与对应扇区一致 for patch, label in zip(patches, labels): label.set_color(patch.get_facecolor()) plt.show()
代码说明
ax.patches:获取饼图中所有扇区的图形对象,每个对象包含自身的填充色信息。ax.get_xticklabels():获取饼图的标签文本(Pandas绘制饼图时,标签会被作为x轴刻度标签存储)。- 通过遍历配对的扇区和标签,将标签颜色设置为对应扇区的填充色,实现标签与扇区颜色一致的效果。
内容的提问来源于stack exchange,提问作者TLS
相关产品推荐
相关产品推荐

