import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] #用于正常显示
s=['一季度','二季度','三季度','四季度']
v=[2325,2017,1533,1925]
plt.bar(x=list(range(4))
,height=v,
tick_labels=s,
color='steelblue',
width=0.8)
plt.ylabel('销售数量(台)')
plt.title('2019年四个季度手机销售数量')
for x,y in enumerate(v):
plt.text(x,y,y,ha='center')
plt.show()
模块13 数据可视化
Matplotlib库 绘制同济图形
13.2.1? 折线图
在Python数据可视化图表所有类型中,折线图最为简单,
plot(x,y,linestyle,linewidth,color,marker,markersize.....)
例13.1 某高校招生人数绘制
计算机系近五年招生人数
年份 | 2015 | 2016 | 2017 | 2018 | 2019 | 人数 | 380 | 410 | 396 | 415 | 430 |
基本思路:先导入模块pyplot,然后使用该模块的plot函数()来绘制折线图
import matplotlib.pyplot as plt #导入pyplot模块
x=[2015,2016,2017,2018,2019] #x坐标轴显示年份
y=[380,410,396,415,430] #y坐标轴显示人数
plt.plot(x,y,color='r') #利用plot函数绘制折线图
#指定图形标题,并设置标签的字体,字号
plt.title('2016-2019年计算机系招生人数',fontproperties='STKAITI',fontsize=24)
#指定x坐标轴的标签,并设置标签的字体、字号
plt.xlabel('年份',fontproperties='STKAITI',fontsize=20)
#同理制定y坐标的标签
plt.ylabel('年份',fontproperties='STKAITI',fontsize=20)
#参数axis值为both 代表设置横纵坐标可度的标记,标记的大小为14
plt.tick_params(axis='both',labelsize=14)
plt.show()
代码运行结果如图所示
13.2.2 散点图
例:绘制由200个随机点组成的散点图,要求随机点的横纵坐标值均在0~1之间
import matplotlib.pyplot as plt
import numpy as np
k=200 #随机点的数量为200个
x=np.random.rand(k) #生成200个0~1之间的随即小鼠
y=np.random.rand(k)
size=np.random.rand(k)*50 #生成每个点的大小
colour=np.arctan2(x,y) #生成每个点的颜色
plt.scatter(x,y,s=size,c=colour) #绘制散点图
plt.show()
?
代码运行结果如图所示
13.2.3直方图
例13-3 生成1000个0~100之间的随机整数,用直方图展示着1000个随机数的分布情况
import matplotlib.pyplot as plt
import numpy as np
pop=np.random.randint(0,100,1000)
plt.hist(pop,bins=20,color='steelblue',edgecolor='k')
plt.title('1000个0~100之间的随机数分布直方图',fontproperties='STKAITI',fontsize=20)
plt.xlabel('随机数值',fontproperties='STKAITI',fontsize=18)
plt.ylabel('随机数个数',fontproperties='STKAITI',fontsize=18)
plt.show()
运行结果如图所示
13.2.4 条形图
例13-4 某商场四个季度手机销售统计量示意图
季度 | 一季度 | 二季度 | 三季度 | 四季度 | 销售数量 | 2325 | 2017 | 1533 | 1925 |
|