https://www.cnblogs.com/liming19680104/p/10614132.htmlimport pandas as pdimport numpy as npimport 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()
原文地址:https://www.cnblogs.com/gisoracle/p/12288881.html
时间: 2024-10-09 12:47:51