绘制饼图
在学习了plot()、scatter()函数之后,这次我们又接触了一个新的函数----pie()函数,pie()函数用于绘制饼图。
示例:
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
labels = ['娱乐','教育','饮食','房贷','交通','其它']
rates = [12,12,10,45,6,15]
explode = (0,0,0,0.1,0,0)
plt.pie(rates,explode=explode,labels=labels,autopct='%1.1f%%',shadow=True)
plt.title("饼图示例-7月份家庭支出")
plt.show()
print(a)
结果:
参数说明:
x :pie()函数最少要传入一个x,即第一个参数,它用于指定饼图各项的占比。特别注意,当x的值为[0.1,0.2,0.1,0.1,0.3]类似这种的形式时,可以发现sum(x)<1,此时饼图将绘制出一个缺失一个类别的饼状图。
labels :标签。
ecplode :指定饼图各个类别远离圆心的距离,默认为None。
colors :饼图的填充色。
shadow :阴影,默认为None。
autopct :添加百分比图示,并采用格式化的方法。
pctdiatance :百分比标签与圆心的距离,默认为0.6。
labeldistance :扇形标签与圆心的距离,默认为1.1。
radius :饼图的半径大小。
wedgeprops :饼图内外边界的属性,参数以字典形式传递。比如,wedgeprops=dict(width=0.5)。
textprops :设置饼图中文本的属性,参数以字典形式传递。
绘制柱状图
bar()函数绘制柱状图,示例如下:
import matplotlib.pyplot as plt
x = list(range(1,5))
ht = [2,2.6,3.1,4.5]
plt.bar(x,ht,width=0.5,color="green")
plt.show()
结果:
示例2:
堆叠图
import matplotlib.pyplot as plt
x = list(range(1,5))
ht1 = [10000,11500,11200,9600]
ht2 = [12300,11600,14800,13500]
name_list = ['May','June','July','August']
plt.bar(x,ht1,width=0.5,color="yellow",label='C')
plt.bar(x,ht2,width=0.5,color="red",label='java',bottom=ht1,tick_label=name_list)
plt.title('C vs java')
plt.xlabel('polularity')
plt.ylabel('value')
plt.legend()
plt.show()
结果:
(数据纯属虚构)
示例3:
并列图
import matplotlib.pyplot as plt
ht1 = [10000,11500,11200,9600]
ht2 = [12300,11600,14800,13500]
name_list = ['May','June','July','August']
x = list(range(len(name_list)))
plt.bar(x,ht1,width=0.2,color="yellow",label='C')
for i in range(len(x)):
x[i] =x[i]+0.2
plt.bar(x,ht2,width=0.2,color="red",label='java',tick_label=name_list)
plt.title('C vs java')
plt.xlabel('polularity')
plt.ylabel('value')
plt.legend()
plt.show()
结果:
示例4:
条形图
import matplotlib.pyplot as plt
name_list = ['May','June','July','August']
value = [1000,1500,1200,600]
x = list(range(len(name_list)))
plt.barh(x,value,tick_label=name_list,color="red")
plt.show()
结果: