饼图 plt.pie(x, explode=None, labels=None, colors=None, autopct=None)
(1) labels = [''] 设置相对应数据的标签
(2) labeldistance :设置标签距离圆心的距离,labeldistance比例值(值越大离图就越远)
(3) autopct = ‘%1.1f%%’:设置饼图上显示数据,
(最外面有两个%(转化为百分比),里面1.1f%即保留一位小数加%1.2f即保留两位小数)
(4) pctdistance :设置比例文字距离圆心的距离,值越大离圆心就越远
(5) explode=():参数设置每一块顶点距离圆心的长度(比例值)里面的值的数量和数据是相同的数量,不想设置时直接给个0即可,注意用小括号括起来。
(6) colors 参数设置每一块的颜色
(7) shadow 是否绘制阴影
(8) startangle 设置饼图旋转的度数(逆时针旋转)
可以设置总的百分比没有达到1,不够的地方就没有占满饼图,即把没有占满的地方空出来
示例
#导包
import matplotlib.pyplot as plt
# 设置中文显示
plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False
#数据准备
sizes = [15,20,17,25]
explode = (0,0.1,0,0)
labels = ['这','是','标','签']
#绘制图形
plt.pie(sizes, explode=explode, labels=labels,\
autopct='%1.1f%%',startangle=90,shadow=True)
#设置轴线
plt.axis('equal')
#本机显示
plt.show()
默认轴线
环图:饼图中间加一个空白饼图
#导包
import matplotlib.pyplot as plt
# 设置中文显示
plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False
#数据准备
sizes = [15,20,17,25]
explode = (0,0.1,0,0)
labels = ['这','是','标','签']
#用于显示空心
x_0 = [1,0,0,0]
#绘制图形
plt.pie(sizes, explode=explode, labels=labels,\
autopct='%1.1f%%',startangle=90,shadow=True)
#绘制空心饼图
plt.pie(x_0, radius=0.5,colors = 'w')
#设置轴线
plt.axis('equal')
#本机显示
plt.show()
极线图
示例
#导包
import matplotlib.pyplot as plt
import numpy as np
#数据准备
n=20
#转化为对应数值
theta = np.linspace(0,2*np.pi,n,endpoint=False)
#将头尾数据设置相同,才可以头尾连接
theta1 = np.concatenate((theta,[theta[0]]))
r=30*np.random.rand(n)
r1=np.concatenate((r,[r[0]]))
#方法1
plt.polar(theta1,r1,color='red',marker='*')
plt.show()
气泡图:三维散点图,可控制散点的大小
#导包
import matplotlib.pyplot as plt
import numpy as np
#中文显示
plt.rcParams['font.family']='FangSong'
#数据准备
wen=[6,8,10,13,14,16,21]#温度
yu=[250,400,580,680,700,880,850]#降雨量
liang=[1125,1725,2250,2875,2900,3750,4001]#产量
#设置气泡颜色
colors=np.random.rand(len(wen))
#绘制气泡
plt.scatter(wen, liang, s=yu, c=colors)
#设置坐标轴标题
plt.xlabel('温度')
plt.ylabel('产量')
plt.show()