python数据分析可视化:绘制折线图和柱形图

 使用matplotlib绘制图表,结合面对对象的API,使用这些数据使得数据可视化变得轻而易举。

一、类与对象

类是一个模板,对象是根据这个模板创建的具体实例。一个类可以创建多个对象,它们之间是独立的,互相不影响。类是一种用户自定义的数据类型,它由数据和方法组成。数据表示属性,方法表示行为。一个类可以包含多个属性和方法。属性是类的成员变量,可以存储数据。方法是一组操作数据的代码,它们可以实现某些功能或者改变属性的值。

二、绘制折线图

​​​​​使用pyplot的plot()函数可以快速绘制折线图。

1实例:未来15天最高气温和最低气温

表2-1清城区未来15天的的推高气温和最低气温
日期最高气温/℃最低气温/℃
9月22日3224
9月23日3124
9月24日3124
9月25日3124
9月26日3124
9月27日3324
9月28日3122
9月29日2820
9月30日2919
10月1日2920
10月2日2821
10月3日3122
10月4日3223
10月5日3324
10月6日3122

做题思路:

首先导入 matplotlib . pyplot 和 numpy 模块,分别重命名为 plt 和 np ,其次将表2-1的数据分别作为 x 轴和 y 轴的数据,绘制两条折线,最后调用 show()函数进行展示。
运行程序,效果如图所示。

代码:

import matplotlib.pyplot as plt
import numpy as np
fig = plt.figure()   #创建figure画布对象
ax = fig.add_subplot(211)    #在画布对象上创建子图 
x = np.arange(1,16)
y_max = np.array([32,31,31,31,31,33,31,28,29,29,28,31,32,33,31])
y_min = np.array([24,24,24,24,24,24,22,20,19,20,21,22,23,24,22])
plt.plot(x,y_max,color = "red")
plt.plot(x,y_min,color = "blue")
plt.show()

三、绘制柱形图

2绘制GMV的柱形图

使用bar()绘制柱形图和堆积柱形图,将“财年”这一系列的数据作为x轴的刻度标签,将GMV这一系列的数据作为y轴的数据,使用bar()函数绘制各年份对应的GMV的柱形图。

表2-2 2013-2019财年某电商平台的GMV
财年GMV
201310770
201416780
201524440
201630920
201737670
201848200
201957270

代码:

import matplotlib.pyplot as plt
import numpy as np
fig, axes = plt.subplots(figsize=(5,5))#创建画布和子图对象
x = np.arange(1,8)
y = np.array([10770,16780,24440,30920,37670,48200,57270])
plt.bar(x,y,tick_label=["2013","2014","2015","2016","2017","2018","2019"],width=0.5)
plt.show()

 

3实例:各商品种类的网购替代率

将"商品种类"一列的数据作为 y 轴的刻度标签,将"替代率"列的数据作为 x 轴的数据,使用 barh()函数绘制各商品种类的网购替代率的条形图,具体代码如下。

 

import matplotlib.pyplot as plt 
import numpy as np 
fig, axe = plt.subplots()#创建画布和子图对象
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] = False 
x=np.array([0.959,0.951,0.935,0.924,0.893,0.892,0.865,0.863,0.860,0.856,0.854,0.835,0.826,0.816,0.798,0.765,0.763,0.671])
y = np.arange (1,19)
labels =["家政、家教、保姆等生活服务","飞机票、火车票","家具","手机、手机配件","计算机及其配套产品",
         "汽车用品","通信充值、游戏充值","个人护理用品","书报杂志及音像制品","餐饮、旅游、住宿",
         "家用电器","食品、饮料、烟酒、保健品","家庭日杂用品","保险、演出票务","服装、鞋帽、家用纺织品",
         "数码产品","其他商品和服务","工艺品、收藏品"]
plt.barh(y,x,tick_label=labels,align="center",height=0.6)
plt.show()

 

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值