使用matplotlib绘制图表

目录

前言

一、如何使用matplotlib绘制图表?

二、使用matplotlib绘制简单图表

1.使用plot()绘制折线图  

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

示例一:在示例一的数据基础上用面向对象的方式绘制带有红色虚线的平均气温折线图

2.绘制柱形图或堆积柱形图

实例一:2013—2019财年某电商平台的GMV

3.绘制条形图或堆积条形图

4.绘制堆积面积图

使用stackplot()绘制堆积面积图

示例:物流公司物流费用统计

总结

前言

本章是针对python数据可视化的初学者学习如何使用matplotlib绘制简单的图表


提示:以下是本篇文章正文内容,下面案例可供参考

一、如何使用matplotlib绘制图表?

matplotlib库仅需开发人员编写几行代码即可绘制一个图表。下面结合面向对象的方式使用matplotlib库绘制一个简单的图表,示例代码如下:

导入pyplot模块:

import numpy as np
import matplotlib.pyplot as plt

准备数据:

data = np.array([1, 2, 3, 4, 5])

创建代表画布的Figure类的对象fig:

fig = plt.figure()

在画布fig上添加坐标系风格的绘图区域ax:

ax = fig.add_subplot(111)

绘制图表:

ax.plot(data)

展示图表:

plt.show()

二、使用matplotlib绘制简单图表

1.使用plot()绘制折线图  

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

代码如下:

import matplotlib.pyplot as plt    
import numpy as np                    #导入模块
x = np.arange(4, 19)                  #x轴数据
y_max = np.array([32, 33, 34, 34, 33, 31, 30, 29, 30, 29, 26, 23, 21, 25, 31])  #导入y轴数据
y_min = np.array([19, 19, 20, 22, 22, 21, 22, 16, 18, 18, 17, 14, 15, 16, 16])
fig = plt.figure()                    #创建类
ax = fig.add_subplot()                #给画布fig上添加坐标系风格的绘图区域ax
ax.plot(x, y_max)                    #绘制气温最高气温线条
ax.plot(x, y_min)                    #绘制气温最低气温线条
plt.show()                        #展示图表

示例一:在示例一的数据基础上用面向对象的方式绘制带有红色虚线的平均气温折线图

import matplotlib.pyplot as plt
import numpy as np
x = np.arange(4, 19)
y_max = np.array([32, 33, 34, 34, 33, 31, 30, 29, 30, 29, 26, 23, 21, 25, 31])
y_min = np.array([19, 19, 20, 22, 22, 21, 22, 16, 18, 18, 17, 14, 15, 16, 16])
y_mea = (y_max+y_min)/2.0        #将最高气温和最低气温相加取平均值
fig = plt.figure()                    #创建类
ax = fig.add_subplot()                #给画布fig上添加坐标系风格的绘图区域ax
ax.plot(x, y_max)
ax.plot(x, y_min)
ax.plot(x, y_mea, 'r--')        #绘制平均值气温,并设置颜色为红色,样式为虚线
plt.show()

2.绘制柱形图或堆积柱形图

实例一:2013—2019财年某电商平台的GMV

代码如下:


import matplotlib.pyplot as plt  #导入模块
import numpy as np
# 1.准备某电商平台数据
x = np.arange(1,8)
y = np.array([10770, 16780, 24440, 30920, 37670, 48200, 57270])
# 3.绘制柱形图
plt.bar(x, y, tick_label=["FY2013", "FY2014",
                          "FY2015", "FY2016",
                          "FY2017", "FY2018", "FY2019"], width=0.5)

plt.show()       #展示图表
 

3.绘制条形图或堆积条形图

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

 代码如下:

import matplotlib.pyplot as plt  #导入模块
import numpy as np
# 显示中文
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.67])
y = np.arange(1, 19)
labels = ["家政、家教、保姆等生活服务", "飞机票、火车票", "家具", "手机、手机配件",
          "计算机及其配套产品", "汽车用品", "通信充值、游戏充值", "个人护理用品",
          "书报杂志及音像制品", "餐饮、旅游、住宿", "家用电器",
          "食品、饮料、烟酒、保健品", "家庭日杂用品", "保险、演出票务",
          "服装、鞋帽、家用纺织品", "数码产品", "其他商品和服务", "工艺品、收藏品"]

#展示3%的误差
error = np.full(18,fill_value=0.3)

# 绘制带有误差的条形图      
plt.barh(y,x,tick_label=labels,height=0.6,xerr=error)
#展示图表
plt.show()

4.绘制堆积面积图

使用stackplot()绘制堆积面积图

示例:物流公司物流费用统计

代码如下:

import numpy as np                     #导入模块
import matplotlib.pyplot as plt

# 1.准备数据
x = np.arange(1, 13)
y_a = np.array([198, 215, 245, 222, 200, 236, 201, 253, 236, 200, 266, 290])
y_b = np.array([203, 236, 200, 236, 269, 216, 298, 333, 301, 349, 360, 368])
y_c = np.array([185, 205, 226, 199, 238, 200, 250, 209, 246, 219, 253, 288])

# 2.绘制堆积面积图
# 显示中文
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
labels = ['A公司','B公司','C公司']
colors = ['red','green','blue']
plt.stackplot(x,y_a,y_b,y_c,labels=labels,colors=colors)

# 3.在左上角展示标注图例
plt.legend(loc='upper left') 
# 4.展示整张图表
plt.show()


总结

以上就是今天要讲的内容,本文介绍的是使用matplotlib绘制简单的图表。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值