用面向对象API绘画折线图和柱形图

matplotlib概述

matplotlib是一个由约翰·亨特等人员开发的、主要用于绘制2D图表的Python库,它支持numpy、pandas的数据结构,具有·丰富的绘图图表、定制图表元素(图例、注释文本、表格等)或样式(如颜色、字体、线型等)的功能,可以帮助开发人员轻松获得高质量的图表。此外,matplotlib还可以用于绘制一些3D图表。

matplotlib实际上是一个面向对象的绘制图库,它所绘制的图表元素均对应一个对象。但matplotlib在设计之初仿照MATLAB,它提供了一套与MATLAB命令类似的API,方便熟悉MATLAB的用户进行开发。matplotlib官网提供了3种AP:pyplot API、object-oriented API、pylab API。

使用plot()绘制折线图

使用pyplot的plot()函数可以快速绘制折线图。plot()函数的语法格式如下所示:

plot(x, y, fmt, scalex=True, scaley=True, data=None, label=None, *args, **kwargs)

该函数常用参数的含义如下:

  • x : 表示x 轴的数据。
  • y : 表示y轴的数据
  • fmt : 表示快速设置线条样式的格式字符串
  • label : 表示应用于图例的标签文本。

#导入模块

import matplotlib.pyplot as plt
import numpy as np

#数据 

x = np.arange(1,9)
y_max = np.array([30,35,31,38,41,35,36,43])
y_min = np.array([22,19,20,23,29,21,30,18])

#创建对象 

fig = plt.figure()
ax = fig.add_subplot(111)

#绘制折线图表 

ax.plot(x,y_max, color='green')
ax.plot(x,y_min, color='orange')

#图表展示 

plt.show()

运行结果以及原代码

使用plot()绘制柱形图(或堆积图)

使用pyplot 的 bar()函数可以快速绘制柱形图或堆积柱形图。bar() 函数的语法格式如下所示:

bar(x, height, width=0.8, bottom=None, align='center',

      data=None, tick_label=None, xerr=None, yerr=None,

       error_kw=None, **kwargs) 

 该函数常用参数的含义如下:

  • x:表示柱形的x坐标值。
  • height:表示柱形的高度。
  • width:表示柱形的宽度,默认为 0.8。
  • bottom:表示柱形底部的y坐标值,默认为0。
  • align:表示柱形的对齐方式,有 'center' 和 'edge' 两个取值,其中 'center' 表示将柱形与刻度线居中对齐;'edge' 表示将柱形的左边与刻度线对齐。
  • tick_label:表示柱形对应的刻度标签。
  • xerr,yerr:若未设为 None,则需要为柱形图添加水平/垂直误差棒。
  • error_kw:表示误差棒的属性字典,字典的键对应errorbar()函数的关键字参数。

#导入模块

import matplotlib.pyplot as plt
import numpy as np

 #数据 

x = np.arange(7)
y1 = np.array([13,16,12,23,21,25,18])
y2 = np.array([15,13,17,23,16,20,15])
bar_width = 0.3
labels=['A','B','C','D','E','F','G']

#创建对象 

fig = plt.figure()
ax = fig.add_subplot(111)

#绘制柱形图表 

ax.bar(x,y1, tick_label=labels, width=bar_width,color='green')
ax.bar(x+bar_width, y2, width=bar_width, color='orange')

#图表展示

plt.show()

运行结果以及原代码

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

2224070232

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值