美文网首页
解决python扇形图中标签重叠

解决python扇形图中标签重叠

作者: 浮生梦凡卿 | 来源:发表于2023-04-26 22:57 被阅读0次

    用python画扇形图,常常出现标签重叠部分,搜了下网上找不到有效解决办法,所以我将用最简洁的语言帮你解决问题。

    1. 解决办法:设置explode值,使扇形图的某个扇区脱离整体扇形图。
      假如你遇到这样的问题(数据项多了会更明显)


      image.png

      添加explode后如下,可以在下面代码基础上修改


      image.png
    
    import numpy as np#引入numpy库
    import matplotlib.pyplot as plt#引入matplotlib库的pyplot函数
    
    #添加标题
    plt.title("测试",fontproperties='KaiTi',fontsize=30,color="red")#添加图名
    
    #设置正圆显示
    plt.axis('equal')
    
    #构造数据
    plt.rcParams['font.sans-serif']='SimHei'#中文显示乱码处理,SimHei是黑体
    plt.rcParams['axes.unicode_minus']=False #用来正常显示正负号
    data=[1,2,1,0.1,0.2,1,2]
    #设置每个标签对应的值
    labels=list(['改变自己原来的做法','我觉得花时间了解专业信息是不必要的','我觉得花时间了解专业信息是必要的','我想我会幻想','我觉得投入大量精力学习是重要的','我常学以致用','我乐意从事和所学专业有关的工作'])#设置显示标签
    #设置突出显示的标签
    explode=np.zeros(len(data))
    explode[-2]=0.3
    explode[-3]=0.15
    #设置标签颜色,浅黄,橙,绿,红,紫,青
    colors=['wheat','orange','green','red','violet','teal']
    
    #开始绘制
    
    plt.pie(data,#加载绘图数据
            #explode=explode,#突出显示的项
            labels=labels,#各球队标签
            colors=colors,#颜色属性
            radius=1,#设置饼图半径
            counterclock=False,#设置为顺时针方向开始绘图
            labeldistance=1.1,#设置标签位置
            autopct='%.2f%%',#设置百分比格式,这里保存两位小数
            textprops={'fontsize':14,'color':'black'},#设置文本属性,字体大小为12,颜色为黑
            wedgeprops={'linewidth':0.7,'edgecolor':'black'},#设置边框,宽度为0.7,颜色为黑
            shadow=True,#添加阴影
            startangle=90#设置开始绘图的角度
           )
    
    plt.show()
    

    需要哪个扇形出来就把那个对应的explode设置成正数,越大出来的越多。如果不确定哪个是哪个可以改变索引,手动多试几次。

    2.改变startangle值
    常常是扇形底下或者上边的标签重合,在数据项不多的情况下,通过改变初始角度,把这个区域留给大块扇形就好了。将最后一行设置为
    startangle=45


    image.png

    如果真的数据项太多了,那么建议用南丁格尔玫瑰图。

    相关文章

      网友评论

          本文标题:解决python扇形图中标签重叠

          本文链接:https://www.haomeiwen.com/subject/fhkbjdtx.html