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 Django模板的使用方法(图文)
Nov 04 Python
Python实例之wxpython中Frame使用方法
Jun 09 Python
Python减少循环层次和缩进的技巧分析
Mar 15 Python
浅析python中SQLAlchemy排序的一个坑
Feb 24 Python
Python爬虫中urllib库的进阶学习
Jan 05 Python
Python中字符串与编码示例代码
May 20 Python
10个Python面试常问的问题(小结)
Nov 20 Python
Windows 下更改 jupyterlab 默认启动位置的教程详解
May 18 Python
Python自带的IDE在哪里
Jul 01 Python
Python用dilb提取照片上人脸的示例
Oct 26 Python
python语言time库和datetime库基本使用详解
Dec 25 Python
深入浅析python3 依赖倒置原则(示例代码)
Jul 09 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
SONY ICF-SW7600的电路分析
2021/03/02 无线电
PHP文件下载类
2006/12/06 PHP
PHP 万年历实现代码
2012/10/18 PHP
Symfony2实现在controller中获取url的方法
2016/03/18 PHP
浅析PHP中的i++与++i的区别及效率
2016/06/15 PHP
PHP与JavaScript针对Cookie的读写、交互操作方法详解
2017/08/07 PHP
在laravel框架中使用model层的方法
2019/10/08 PHP
JavaScript 自动分号插入(JavaScript synat:auto semicolon insertion)
2009/11/04 Javascript
javascript加号"+"的二义性说明
2013/03/04 Javascript
自己写了一个展开和收起的多更能型的js效果
2013/03/05 Javascript
微信小程序 swiper制作tab切换实现附源码
2017/01/21 Javascript
Node.js中看JavaScript的引用
2017/04/22 Javascript
详谈Angular 2+ 的表单(一)之模板驱动型表单
2017/04/25 Javascript
NodeJs的fs读写删除移动监听
2017/04/28 NodeJs
js实现微信/QQ直接跳转到支付宝APP打开口令领红包功能
2018/01/09 Javascript
前端防止用户重复提交js实现代码示例
2018/09/07 Javascript
使用Node.js写一个代码生成器的方法步骤
2019/05/10 Javascript
你了解vue3.0响应式数据怎么实现吗
2019/06/07 Javascript
js实现点击图片在屏幕中间弹出放大效果
2019/09/11 Javascript
浅谈es6中的元编程
2020/12/01 Javascript
python爬虫_微信公众号推送信息爬取的实例
2017/10/23 Python
利用python实现简易版的贪吃蛇游戏(面向python小白)
2018/12/30 Python
Python多图片合并PDF的方法
2019/01/03 Python
Python学习笔记之图片人脸检测识别实例教程
2019/03/06 Python
pyinstaller打包程序exe踩过的坑
2019/11/19 Python
python 监测内存和cpu的使用率实例
2019/11/28 Python
Python如何使用PIL Image制作GIF图片
2020/05/16 Python
如何利用Python给自己的头像加一个小国旗(小月饼)
2020/10/02 Python
HTML5 新旧语法标记对我们有什么好处
2012/12/13 HTML / CSS
建筑工程毕业生自我鉴定
2014/01/14 职场文书
员工晚婚的请假条
2014/02/08 职场文书
2014学习优秀共产党员先进事迹思想汇报
2014/09/14 职场文书
付款委托书范本
2014/10/05 职场文书
运动会观后感
2015/06/09 职场文书
煤矿安全生产工作总结
2015/08/13 职场文书
一个成功的互联网创业项目,必须满足这些要求
2019/08/23 职场文书