matplotlib 对坐标的控制,加图例注释的操作


Posted in Python onApril 17, 2020

我们可以使用matplotlib.pyplot.locator_params()来控制刻度线定位器的行为。 即使通常会自动确定标记点的位置,但是如果我们想要绘制较小的标记,则可以控制标记点的数量并使用紧密的视图:

from pylab import *
import numpy as np
 
ax = gca()
ax.locator_params(tight = True, nbins = 10)
ax.plot(np.random.normal(10, 0.1, 100))
show()

这应该给我们下面的图表:

matplotlib 对坐标的控制,加图例注释的操作

然后我们可以使用matplotlib.dates.date2num(),matplotlib等助手函数。 dates.num2date()和matplotlib.dates.drange()在不同的表示之间转换日期。

我们来看另一个例子:

from pylab import *
import matplotlib as mpl
import datetime
 
fig = figure()
ax = gca()
start = datetime.datetime(2013, 1, 1)
stop = datetime.datetime(2013, 12, 31)
delta = datetime.timedelta(days = 1)
dates = mpl.dates.drange(start, stop, delta)
values = np.random.rand(len(dates))
 
ax = gca()
ax.plot_date(dates, values, linestyle= '-', marker='')
date_format = mpl.dates.DateFormatter('%Y-%m-%d')
ax.xaxis.set_major_formatter(date_format)
fig.autofmt_xdate()
show()

上面的代码会给我们下面的图表:

matplotlib 对坐标的控制,加图例注释的操作

添加图例和注释

图例和注释清楚地解释数据图。 通过给每个图表分配一个关于它所代表的数据的简短描述,我们在阅读者(观众)头脑中启用一个更简单的心智模型。 这个方法将显示如何注释我们的数字上的特定点,以及如何创建和定位数据图例。

让我们来演示如何添加图例和注释:

if __name__ == '__main__':
 x1 = np.random.normal(30, 3, 100)
 x2 = np.random.normal(20, 2, 100)
 x3 = np.random.normal(10, 3, 100)
 
 plt.plot(x1, label = 'plot')
 plt.plot(x2, label = '2nd plot')
 plt.plot(x3, label = 'last plot')
 
 plt.legend(bbox_to_anchor=(0., 1.02, 1., .102), loc=3,
    ncol=3, mode='expand', borderaxespad=0.)
 plt.annotate('Important value', (55,20),
     xycoords='data',
     xytext=(5,38),
     arrowprops = dict(arrowstyle = '->'))
 
 plt.show()

上面的代码会给我们下面的图:

matplotlib 对坐标的控制,加图例注释的操作

我们所做的就是为每个绘图分配一个字符串标签,因此legend()将尝试确定要在图例框中添加的内容。 我们通过定义loc参数来设置图例框的位置。 这是可选的,但是我们想要指定一个位置,这个位置最不可能用于绘制图例的图例。 将位置值设置为0是非常有用的,因为它会自动检测图形的位置,图例的位置可以与图形重叠最小。

所有位置参数字符串在下表中给出:

matplotlib 对坐标的控制,加图例注释的操作

如果不在图例中显示标签,请将标签设置为_nolegend_。

对于图例,我们定义了ncol = 3的列数,并设置了左下角的位置。 我们指定了一个边界框(bbox_to_anchor),从位置(0.,1.02)开始,宽度为1,高度为0.102。 这些是标准化的坐标轴。 参数模式为“None”或“expand”以允许图例框水平放大轴区域。 参数borderaxespad定义轴和图例边界之间的填充。

对于注释,我们已经定义了一个字符串在坐标xy上的图上绘制。 坐标系指定与数据1相同; 因此,坐标系是xycoord ='data'。 文本的起始位置由xytext的值定义。

箭头从xytext绘制到xy坐标,arrowprops字典可以定义该箭头的许多属性。 对于这个例子,我们用箭头来定义箭头样式。

以上这篇matplotlib 对坐标的控制,加图例注释的操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
使用Python对IP进行转换的一些操作技巧小结
Nov 09 Python
Python数据结构之翻转链表
Feb 25 Python
Python 模拟员工信息数据库操作的实例
Oct 23 Python
python构建深度神经网络(DNN)
Mar 10 Python
使用python语言,比较两个字符串是否相同的实例
Jun 29 Python
Python 调用 zabbix api的方法示例
Jan 06 Python
Python 二叉树的层序建立与三种遍历实现详解
Jul 29 Python
Tensorflow进行多维矩阵的拆分与拼接实例
Feb 07 Python
django2.2 和 PyMySQL版本兼容问题
Feb 17 Python
python 已知三条边求三角形的角度案例
Apr 12 Python
用Python开发app后端有优势吗
Jun 29 Python
Django Admin后台模型列表页面如何添加自定义操作按钮
Nov 11 Python
matplotlib quiver箭图绘制案例
Apr 17 #Python
更新升级python和pip版本后不生效的问题解决
Apr 17 #Python
浅谈python多线程和多线程变量共享问题介绍
Apr 17 #Python
使用Matplotlib绘制不同颜色的带箭头的线实例
Apr 17 #Python
matplotlib 曲线图 和 折线图 plt.plot()实例
Apr 17 #Python
Python实现自动打开电脑应用的示例代码
Apr 17 #Python
Python matplotlib绘制图形实例(包括点,曲线,注释和箭头)
Apr 17 #Python
You might like
一个阿拉伯数字转中文数字的函数
2006/10/09 PHP
php将字符串转化成date存入数据库的两种方式
2014/04/28 PHP
PHP多维数组转一维数组的简单实现方法
2015/12/23 PHP
PHP中$GLOBALS['HTTP_RAW_POST_DATA']和$_POST的区别分析
2017/07/03 PHP
php 删除一维数组中某一个值元素的操作方法
2018/02/01 PHP
如何在PHP中读写文件
2020/09/07 PHP
基于jquery的网页SELECT下拉框美化代码
2010/10/28 Javascript
关于jQuery $.isNumeric vs. $.isNaN vs. isNaN
2013/04/15 Javascript
引用其它js时如何同时处理多个window.onload事件
2014/09/02 Javascript
js正则表达式中exec用法实例
2015/07/23 Javascript
小心!AngularJS结合RequireJS做文件合并压缩的那些坑
2016/01/09 Javascript
JS学习之表格的排序简单实例
2016/05/16 Javascript
JavaScript中的Number数字类型学习笔记
2016/05/26 Javascript
用nodejs的实现原理和搭建服务器(动态)
2016/08/10 NodeJs
localStorage的黑科技-js和css缓存机制
2017/02/06 Javascript
JS组件系列之JS组件封装过程详解
2017/04/28 Javascript
微信小程序中input标签详解及简单实例
2017/05/18 Javascript
React.Js添加与删除onScroll事件的方法详解
2017/11/03 Javascript
vue组件watch属性实例讲解
2017/11/07 Javascript
JS中的事件委托实例浅析
2018/03/22 Javascript
jQuery常见的遍历DOM操作详解
2018/09/05 jQuery
vue 对象添加或删除成员时无法实时更新的解决方法
2019/05/01 Javascript
使用Node.js在深度学习中做图片预处理的方法
2019/09/18 Javascript
详解python中*号的用法
2019/10/21 Python
Python实现word2Vec model过程解析
2019/12/16 Python
记一次python 爬虫爬取深圳租房信息的过程及遇到的问题
2020/11/24 Python
CSS3近阶段篇之酷炫的3D旋转透视
2016/04/28 HTML / CSS
公司离职证明范本
2014/01/13 职场文书
计算机应用应届生求职信
2014/07/12 职场文书
黄山导游词
2015/01/31 职场文书
拾金不昧表扬稿大全
2015/05/05 职场文书
党支部考察意见范文
2015/06/02 职场文书
新闻稿标题
2015/07/18 职场文书
中国文明网2015年“向国旗敬礼”活动网上签名寄语
2015/09/24 职场文书
学校团代会开幕词
2016/03/04 职场文书
Python爬虫基础之初次使用scrapy爬虫实例
2021/06/26 Python