Matplotlib axes类使用详解

Matplotlib 定义了一个 axes 类(轴域类),该类的对象被称为 axes 对象(即轴域对象),它指定了一个有数值范围限制的绘图区域。在一个给定的画布(figure)中可以包含多个 axes 对象,但是同一个 axes 对象只能在一个画布中使用。

2D 绘图区域(axes)包含两个轴(axis)对象;如果是 3D 绘图区域,则包含三个。

通过调用 add_axes() 方法能够将 axes 对象添加到画布中,该方法用来生成一个 axes 轴域对象,对象的位置由参数rect决定。

rect 是位置参数,接受一个由 4 个元素组成的浮点数列表,形如 [left, bottom, width, height] ,它表示添加到画布中的矩形区域的左下角坐标(x, y),以及宽度和高度。如下所示:
ax=fig.add_axes([0.1,0.1,0.8,0.8])

注意:每个元素的值是画布宽度和高度的分数。即将画布的宽、高作为 1 个单位。比如,[ 0.1, 0.1, 0.8, 0.8],它代表着从画布 10% 的位置开始绘制, 宽高是画布的 80%。

下面介绍 axes 类的其他成员函数,这些函数在绘图过程中都承担着不同的作用。

legend()绘制图例

axes 类的 legend() 方法负责绘制画布中的图例,它需要三个参数,如下所示:

ax.legend(handles, labels, loc)

labels 是一个字符串序列,用来指定标签的名称;
loc 是指定图例位置的参数,其参数值可以用字符串或整数来表示;
handles参数,它也是一个序列,它包含了所有线型的实例;

下面是 loc 参数的表示方法,分为字符串和整数两种,如下所示:

位置 字符串表示 整数数字表示
自适应 Best 0
右上方 upper right 1
左上方 upper left 2
左下 lower left 3
右下 lower right 4
右侧 right 5
居中靠左 center left 6
居中靠右 center right 7
底部居中 lower center 8
上部居中 upper center 9
中部 center 10

axes.plot()

这是 axes 类的基本方法,它将一个数组的值与另一个数组的值绘制成线或标记,plot() 方法具有可选格式的字符串参数,用来指定线型、标记颜色、样式以及大小。

颜色代码如下表:

‘b’ 蓝色
‘g’ 绿色
‘r’ 红色
‘c’ 青色
‘m’ 品红色
‘y’ 黄色
‘k’ 黑色
‘w’ 白色

标记符号如下表:

标记符号 描述
‘.’ 点标记
‘o’ 圆圈标记
‘x’ 'X’标记
‘D’ 钻石标记
‘H’ 六角标记
‘s’ 正方形标记
‘+’ 加号标记

线型表示字符,如下表:

字符 描述
‘-’ 实线
‘–’ 虚线
‘-.’ 点划线
‘:’ 虚线
‘H’ 六角标记

下面的例子,以直线图的形式展示了电视、智能手机广告费与其所带来产品销量的关系图。其中描述电视的是带有黄色和方形标记的实线,而代表智能手机的则是绿色和圆形标记的虚线。

import matplotlib.pyplot as plt
y = [1, 4, 9, 16, 25,36,49, 64]
x1 = [1, 16, 30, 42,55, 68, 77,88]
x2 = [1,6,12,18,28, 40, 52, 65]
fig = plt.figure()
ax = fig.add_axes([0,0,1,1])
#使用简写的形式color/标记符/线型
l1 = ax.plot(x1,y,'ys-')
l2 = ax.plot(x2,y,'go--')
ax.legend(labels = ('tv', 'Smartphone'), loc = 'lower right') # legend placed at lower right
ax.set_title("Advertisement effect on sales")
ax.set_xlabel('medium')
ax.set_ylabel('sales')
plt.show()

输出结果如下:

图1:输出结果

Matplotlib axes类使用详解相关推荐

  1. Python-Matplotlib可视化(番外篇)——Matplotlib中的事件处理详解与实战

    Python-Matplotlib可视化(番外篇)--Matplotlib中的事件处理详解与实战 前言 事件连接 事件属性 实战1:直方图中矩形的拖拽 实战2:鼠标进入和离开 相关链接与参考 前言 在 ...

  2. matplotlib.pyplot.plot 用法详解

    python matplotlib演示官网 https://matplotlib.org/xkcd/users/pyplot_tutorial.html https://matplotlib.org/ ...

  3. pythonsvc_sklearn-SVC实现与类参数详解

    sklearn-SVC实现与类参数 它是基于libsvm实现的.随着样本数量的增加,拟合时间的复杂度要高于二次,这就使得当样板数量超过一万个时,很难扩展到数据集中. 在多类处理时,是按照1对1的方案进 ...

  4. Matplotlib 画图标注annotate详解

    基本标注 使用text()会将文本放置在轴域的任意位置. 文本的一个常见用例是标注绘图的某些特征,而annotate()方法提供辅助函数,使标注变得容易. 在标注中,有两个要考虑的点:由参数xy表示的 ...

  5. Matplotlib subplot()函数用法详解

    Matplotlib subplot()函数用法详解 在使用 Matplotlib 绘图时,我们大多数情况下,需要将一张画布划分为若干个子区域,之后,我们就可以在这些区域上绘制不用的图形.在本节,我们 ...

  6. qml学习笔记(二):可视化元素基类Item详解(上半场anchors等等)

    原博主博客地址:http://blog.csdn.net/qq21497936 本文章博客地址:http://blog.csdn.net/qq21497936/article/details/7851 ...

  7. .net System.Web.Caching.Cache缓存类使用详解(转载)

    转自:http://www.cnblogs.com/virusswb/articles/1681561.html net System.Web.Caching.Cache缓存类使用详解 System. ...

  8. ios开发读取剪切板的内容_iOS中管理剪切板的UIPasteboard粘贴板类用法详解

    一.自带剪切板操作的原生UI控件在iOS的UI系统中,有3个控件自带剪切板操作,分别是UITextField.UITextView与UIWebView.在这些控件的文字交互处进行长按手势可以在屏幕视图 ...

  9. Java记录 -22- Java的基类Object详解

    Java的基类Object详解 Java的JDK文档要经常查阅使用,最好查看英文的文档. Oracle官方在线 Java API Specifications http://www.oracle.co ...

最新文章

  1. WIRW:淡水分子微生物生态学综述
  2. BootstrapTable-加载数据
  3. VisualBasic 版 (精华区)
  4. 面试精讲之面试考点及大厂真题 - 分布式专栏 15 如何解决消息重复,保证消息顺序问题
  5. 人类一败涂地电脑版_iOS账号分享 |人类一败涂地 我们继续相爱相杀,PC大火游戏移植!...
  6. reinterpret_cast 最小demo
  7. 从零基础入门Tensorflow2.0 ----五、26TF1.0tf_data,make_initializable_iteror()
  8. java ee 设计模式_Java EE 设计模式解析与应用_源雷技术空间
  9. 商品中心 --- 淘宝类目属性体系
  10. 文本比较/文本对比在线工具
  11. 笑坏肚皮的俏皮男女趣语
  12. 【中学提纲】必修一——细胞的生命历程
  13. 添加用户-查看用户列表-禁止默认root登陆
  14. Raster Map光栅图 VS Vector Map矢量图
  15. 前端自检梳理——Vue.js项目实战开发
  16. LoRaWAN入网方式以及加密进阶版
  17. kdj超卖_KDJ超卖区超买区是什么?有什么要注意的
  18. echarts饼图图例总结
  19. 【Vegas原创】word图片隐藏在文字里了的终极解决办法
  20. 【Python学习教程】数据结构与算法

热门文章

  1. 发送 POST 请求出现异常!java.io.IOException: Server returned HTTP response code: 400 for URL:
  2. 国家大力支持工业软件但2022年工业软件为何我国依然不强大?
  3. php emoji 去掉,php如何实现去除emoji
  4. Kyligence与中国银联签约
  5. centerm高拍仪_升腾PY-101驱动
  6. OneNote2016下载安装
  7. 【Android安全】从xapk中提取apk并进行重命名
  8. 【达内课程】PopupWindow
  9. [Golang基础提高] Go语言生成二维码
  10. 彩虹云任务极致精简版--PHPcron