zoukankan      html  css  js  c++  java
  • 饼状图

    饼状图:

    复制代码
    import pandas as pd
    import numpy as np
    import matplotlib.pyplot as plt
    
    #解决能显示中文
    plt.rcParams['font.sans-serif']=['SimHei'] #指定默认字体 SimHei为黑体
    plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
    
    plt.title("图标题",fontsize=24)  #图的标题
    plt.xlabel("x轴标题")
    plt.ylabel("y轴标题")
    
    label = '超载', '船员责任心不强', '船员驾驶技术太差', '通航环境差', '海事、港航监管不到位', '船舶过于老旧', '冒险航行'  # 各类别标签
    color = 'red', 'orange', 'yellow', 'green', 'blue', 'gray', 'goldenrod'  # 各类别颜色
    size = [34, 5, 6, 14, 1, 10, 23]  # 各类别占比
    plt.axes(aspect=1)  #设置x轴与y轴的比例1:1     ????
    ex=[0,0.2,0,0,0,0,0]  #设置突出的数据,数据表示离开中心点的距离
    
    pie=plt.pie(x=size,labels=label,autopct='%1.1f%%',explode=ex,shadow=True, colors=color,pctdistance = 0.5)  #画饼状图
    #x 就是数据,饼状图就是根据这些数据来计算百分比的
    #labels   标签
    #autopct  在饼状图中显示出百分比
    #pctdistance  百分比离中心点的距离
    #explode   设置各部分离开中心点的距离
    #shadow=True   加上阴影
    #colors  设置各部分显示的颜色
    
    for font in pie[1]:
        font.set_size(8)  #设置标签字体大小
    
    for digit in pie[2]:
        digit.set_size(20)  #设置 百分比字体的大小
    
    plt.legend(loc='upper right',bbox_to_anchor=(1.2, 1))  #显示图例
    # loc: 表示位置,包括'upper right','upper left','lower right','lower left'等
    # bbox_to_anchor: 表示legend距离图形之间的距离,当出现图形与legend重叠时,可使用bbox_to_anchor进行调整legend的位置
    # 由两个参数决定,第一个参数为legend距离左边的距离,第二个参数为距离下面的距离
    #'upper right'=1;'upper left'=2;'lower left'=3;'lower right'=4; 0 自适应找位置
    #ncol 图例的列数

    plt.show()
    复制代码

     效果图

  • 相关阅读:
    远程连接Mysql报错 java.sql.SQLException:null,message from server ... is not allowed to connect
    使用 java.util.Properties 读取配置文件中的参数
    重载Prometheus配置
    Redis的 SLAVEOF 命令
    Redis为什么不能使用一主一从哨兵
    iptables添加开放端口
    解决172.17 或者172.18 机房环境下harbor服务器不通的问题
    利用sshpass批量导入ssh-key
    ZABBIX_PROXy
    zabbix_server.conf
  • 原文地址:https://www.cnblogs.com/liming19680104/p/10614132.html
Copyright © 2011-2022 走看看