课时14绘制多次条形图
该代码的重点在于,需要设置不同的值,让y显示出的数据能够移动。
x_14会让b_14的第一个值在0,第二个值在1,第三个值在2,第四个值在3显示。
然后x_15设置了0.2的偏移量,所以让b_15的第一个值在0.2,第二个值在1.2,第三个值在2.2,第四个值在3.2实现。
同理,x_16设置了0.4的偏移量,让b_16的每个值分别在0.4,1.4,2.4,3.4,4.4出现。
这样就保证了第一部电影的三天票房出现在0,0.2,0.4,第二部电影的三天票房出现在1,1.2,1.4,……以此类推。
from matplotlib import pyplot as plt
from matplotlib import font_manager
my_font=font_manager.FontProperties(fname="C:\Windows\Fonts\simsun.ttc")
a=["星球崛起","敦刻尔克","蜘蛛侠","战狼2"]
b_16=[15746,312,4497,319]
b_15=[12357,156,2045,168]
b_14=[2358,399,2358,362]
bar_width=0.2
x_14=list(range(len(a)))
x_15=[i+bar_width for i in x_14]
x_16=[i+bar_width*2 for i in x_14]
plt.figure(figsize=(40,15),dpi=28)
plt.bar(range(len(a)),b_14,width=bar_width,label="9月14日")#在刻度0,1,2留下b_14的每个值。
plt.bar(x_15,b_15,width=bar_width,label="9月15日")#在刻度0.2,1.2,2.2留下b_15的每个值。
plt.bar(x_16,b_16,width=bar_width,label="9月16日")#在刻度0.4,1.4,2.4生成b_16的每个值。
plt.xticks(x_15,a,fontproperties=my_font)
#设置图列
plt.legend(prop=my_font) #显示label里的内容.
plt.show()
课时15-绘制直方图
直方图,用于显示每个数据出现的次数。
执行函数为hist(a,int),a为传入的数据,int为组数。
数据在100以内的时候,常把组数分为5-12个。
同时要注意设置组距,否则就会像下图一样,看不清。
组距也是根据数据的属性来设置的。相当于设置没多少个数为一组,通常通过组距来算出组数。
hist()函数里面有个bins参数,要求要证书或者是一个像数字的队形。
如果给的是数字,那么返回值是+1的。
通过在hist()函数里传入“destiny=True”可以形成频率分布直方图。
hist()函数需要的数据是没有统计的,统计过后的数据只能是条形图。
课时16 更多的绘图工具的了解