‘’’
使用matplotlib画饼状图:
在终端Terminal下下载matplotlib:
python -m pip install matplotlib
导入第三方包:
import matplotlib.pyplot as plt
导入随机数random:
import random
‘’’
import matplotlib.pyplot as plt
import random
plt.figure(figsize=(20,8))
2、准备数据、折现图点,x,y坐标个数一一对应
x = range(100)
y = [random.uniform(15,18) for i in x]
plt.plot(x,y)
# 3、显示调用show()
plt.show()
需要显示的电影名称 也是用以区分y轴坐标为0的 数据 在x轴的位置数
movie_name = [“雷神3:诸神黄昏”,‘haha’,‘东方快车谋杀案’,‘寻梦环游记’]
========从这
font = {‘family’:‘SimHei’,
‘weight’:‘bold’,
‘size’:‘12’}
plt.rc(‘font’,**font)
plt.rc(‘font’,family=‘SimHei’,weight=‘bold’,size=‘12’)
=========到这 是解决中文汉字出现乱码 编码问题的
# 这里是写双重柱状图的其中一个柱
first_day =[102,577,223,69]
# 这是第二个柱
first_weekend = [362,342.6,118,128.3]
# 这个是x轴上的元素数量 就是上面的电影名字
x = range(len(movie_name))
# 这个是显示颜色
color = [‘yellow’,‘red’,‘black’,‘green’]
# 加载第一个柱
plt.bar(x,first_day,width=0.2,label=‘首日票房’)
# 加载第二个柱 第一个参数为列表,只的是第二个柱与第一个柱的间隔 如果为0则会y轴叠加
plt.bar([i+0.2 for i in x],first_weekend,width=0.2,label=‘首周票房’)
# 将两个柱子放到图上,电影名也展示
plt.xticks([i+0.1 for i in x],movie_name,fontsize=16)
# 展示台头
plt.legend()
# 展示图
plt.show()
plt.figure(figsize=(20,8))
“”"
x :(每一块)的比例,如果sum(x) > 1会使用sum(x)归一化;
labels :(每一块)饼图外侧显示的说明文字;
explode :(每一块)离开中心距离;
startangle :起始绘制角度,默认图是从x轴正方向逆时针画起,如设定=90则从y轴正方向画起;
shadow :在饼图下面画一个阴影。默认值:False,即不画阴影;
labeldistance :label标记的绘制位置,相对于半径的比例,默认值为1.1, 如<1则绘制在饼图内侧;
autopct :控制饼图内百分比设置,可以使用format字符串或者format function
'%1.1f’指小数点前后位数(没有用空格补齐);
pctdistance :类似于labeldistance,指定autopct的位置刻度,默认值为0.6;
radius :控制饼图半径,默认值为1;
counterclock :指定指针方向;布尔值,可选参数,默认为:True,即逆时针。将值改为False即可改为顺时针。
wedgeprops :字典类型,可选参数,默认值:None。参数字典传递给wedge对象用来画一个饼图。例如:wedgeprops={‘linewidth’:3}设置wedge线宽为3。
textprops :设置标签(labels)和比例文字的格式;字典类型,可选参数,默认值为:None。传递给text对象的字典参数。
center :浮点类型的列表,可选参数,默认值:(0,0)。图标中心位置。
frame :布尔类型,可选参数,默认值:False。如果是true,绘制带有表的轴框架。
rotatelabels :布尔类型,可选参数,默认为:False。如果为True,旋转每个label到指定的角度。
“”"
movie_name = [‘雷神3’,‘正义联盟’,‘东方明珠’,‘寻梦环游记’,‘安徒生讲故事’]
place_count = [60605,54546,45819,28243,1350]
color = [‘b’,‘r’,‘g’,‘y’,‘c’]
显示饼图 第一个参数 需要制成图的数据 第二个参数 是 数据对应的描述
plt.pie(place_count,labels=movie_name,autopct=’%1.2f%%’,colors=color)
explode = (0,0.1,0,0,0)
fi1,ax1 = plt.subplots()
ax1.pie(place_count,explode=explode,labels=movie_name,autopct=’%1.1f%%’,shadow=True,startangle=90)
plt.axis(‘equal’)
plt.legend()
plt.show()