pythonmatplotlib数据实例_Python数据可视化教程之
Matplotlib。。。
前⾔
数据分析就是将数据以各种图表的形式展现给领导,供领导做决策⽤,因此熟练掌握饼图、柱状图、线图等图表制作是⼀个数据分析师必备的技能。Python有两个⽐较出⾊的图表制作框架,分别是Matplotlib和Pyechart。本⽂主要讲述使⽤Matplotlib制作各种数据图表。
Matplotlib是最流⾏的⽤于绘制2D数据图表的Python库,能够在各种平台上使⽤,可以绘制散点图、柱状图、饼图等。
1、柱状图
是⼀种以长⽅形或长⽅体的⾼度为变量的表达图形的统计报告图,由⼀系列⾼度不等的纵向条纹表⽰数据分布的情况,⽤来⽐较两个或以上的价值(不同时间或者不同条件),只有⼀个变量,通常利⽤于较⼩的数据集分析。柱状图可以⽤来⽐较数据之间的多少,可以⽤来观察某⼀事件的变化趋势,柱状图亦可横向排列,或⽤多维⽅式表达。
实现代码:
# 导⼊绘图模块
import matplotlib.pyplot as plt
# 构建数据
sales = [7125,12753,13143,8635]
# 中⽂乱码的处理,rcParams也可以⽤于设置图的分辨率,⼤⼩等信息
# 绘图,第⼀个参数是x轴的数据,第⼆个参数是y轴的数据,第三个参数是柱⼦的⼤⼩,默认值是1(值在0到1之间),color是柱⼦的颜
⾊,alpha是柱⼦的透明度
plt.bar(range(4), sales, 0.4,color='r', alpha = 0.8)
# 添加轴标签
plt.ylabel('销量')
# 添加标题
plt.title('⽔果2018年度销量')
# 添加刻度标签
# 设置Y轴的刻度范围
plt.ylim([5000,15000])
# 为每个条形图添加数值标签
for x,y in enumerate(sales):
<(x,y+100,'%s' %y,ha='center')
# 显⽰图形
plt.show()
效果图:
只需绘制柱状图的函数bar()改成barh()就可以将柱状图长⽅形或长⽅体从垂直⽅向变为⽔平⽅向。实现代码:
# 导⼊绘图模块
import matplotlib.pyplot as plt
# 构建数据
sales = [7125,12753,13143,8635]
# 中⽂乱码的处理
x = ['苹果','⾹蕉','梨','猕猴桃']
# 绘图
plt.barh(range(4), sales, 0.4,color='r', alpha = 0.8)
# 添加轴标签
plt.ylabel('销量')
# 添加标题
plt.title('⽔果2018年度销量')
# 添加刻度标签
# 设置Y轴的刻度范围
plt.xlim([5000,15000])
# 为每个条形图添加数值标签
for x,y in enumerate(sales):
<(y+0.2,x,'%s' %y,va='center')
# 显⽰图形
plt.show()
效果图:
除了bar()函数变成barh()之外。还有其他⼏个地⽅要做修改,在给每个条形图添加数值标签时,将ha='center'改为va='center',将添加x 轴标签的⽅法从xlabel改为ylabel。
柱状图和折线图混合使⽤
柱状图可以和折线图混合使⽤,⽤来表⽰某⼀个数据的变化趋势,下⾯是例⼦的柱状图表⽰⽔果的年度销量,折线图表⽰⽔果1⽉份的销量。
代码:
# 导⼊绘图模块
import matplotlib.pyplot as plt
jan_sales = [3010,4029,5021,3056]
# 构建数据
sales = [7125,12753,13143,8635]
# 中⽂乱码的处理
x = ['苹果','⾹蕉','梨','猕猴桃']
plt.plot(x,jan_sales,'r')# 折线 1 x 2 y 3 color
plt.plot(x,jan_sales,'g',lw=5)# 4 line w
# 绘图
plt.bar(range(4), sales, 0.4,color='b', alpha = 0.8)
# 添加轴标签
plt.ylabel('销量')
# 添加标题
plt.title('⽔果2018年度销量')
# 添加刻度标签
# 设置Y轴的刻度范围
plt.ylim([2000,15000])
# 为每个条形图添加数值标签
for x,y in enumerate(sales):
<(x,y+100,'%s' %y,ha='center')
# 显⽰图形
plt.show()
效果图:
2、折线图
折线图主要⽤于表⽰数据变化的趋势。折线图是直线将不同的点连接起来。
# 导⼊绘图模块
import matplotlib.pyplot as plt
matplotlib中subplot#构建数据
jan_sales = [3010,4029,5021,3056]
# 中⽂乱码的处理
x = ['苹果','⾹蕉','梨','猕猴桃']
#第⼀个参数是x轴,第⼆参数时y轴数据,第三个参数是线的颜⾊,第⼆个参数是线条的粗细plt.plot(x,jan_sales,'r',lw=5)# 4 line w
# 添加标题
plt.title('⽔果2018年度1⽉份销量图')
plt.ylim([2000,15000])
# 为每个点添加数值标签
for x,y in enumerate(jan_sales):
<(x,y+100,'%s' %y,ha='center')
# 显⽰图形
plt.show()
效果图:
折线图通过调⽤plot()⽅法绘制。
3、饼图
饼图主要是⽤来表⽰数据的占⽐,给⼈⼀眼就可以看出数据的占⽐⼤⼩。饼图使⽤pie()函数绘制。import matplotlib.pyplot as plt
# 设置绘图的主题风格(不妨使⽤R中的ggplot分隔)
plt.style.use('ggplot')
# 构造数据
edu = [0.2515,0.3724,0.3336,0.0368,0.0057]
labels = ['苹果','⾹蕉','梨','猕猴桃','桔⼦']
explode = [0,0.1,0,0,0] # ⽤于突出显⽰⼤专学历⼈
colors=['#FEB748','#EDD25D','#FE4F54','#51B4FF','#dd5555'] # ⾃定义颜⾊
# 中⽂乱码和坐标轴负号的处理
# 将横、纵坐标轴标准化处理,保证饼图是⼀个正圆,否则为椭圆
plt.axes(aspect='equal')
# 控制x轴和y轴的范围
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论