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异常学习笔记
Feb 03 Python
python处理csv数据的方法
Mar 11 Python
python使用PIL缩放网络图片并保存的方法
Apr 24 Python
python设计模式大全
Jun 27 Python
python logging日志模块的详解
Oct 29 Python
Python实现的IP端口扫描工具类示例
Feb 15 Python
使用Python调取任意数字资产钱包余额功能
Aug 15 Python
python3.6中@property装饰器的使用方法示例
Aug 17 Python
Python 读取 YUV(NV12) 视频文件实例
Dec 09 Python
sklearn的predict_proba使用说明
Jun 28 Python
通俗讲解python 装饰器
Sep 07 Python
python实现简易名片管理系统
Apr 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
PHP_MySQL教程-第一天
2007/03/18 PHP
生成ubuntu自动切换壁纸xml文件的php代码
2010/07/17 PHP
php中获取关键词及所属来源搜索引擎名称的代码
2011/02/15 PHP
用php守护另一个php进程的例子
2015/02/13 PHP
DEDECMS首页调用图片集里的多张图片
2015/06/05 PHP
js 通过html()及text()方法获取并设置p标签的显示值
2014/05/14 Javascript
JavaScript中用let语句声明作用域的用法讲解
2016/05/20 Javascript
jQuery学习心得总结(必看篇)
2016/06/10 Javascript
关于json字符串与实体之间的严格验证代码
2016/11/10 Javascript
自动适应iframe右边的高度
2016/12/22 Javascript
JS实现批量上传文件并显示进度功能
2017/06/27 Javascript
angular内置provider之$compileProvider详解
2017/09/27 Javascript
微信小程序getPhoneNumber获取用户手机号
2017/09/29 Javascript
详解从Vue-router到html5的pushState
2018/07/21 Javascript
Nodejs中获取当前函数被调用的行数及文件名详解
2018/12/12 NodeJs
js回溯法计算最佳旅行线路代码实例
2019/09/11 Javascript
解决vue-cli 打包后自定义动画未执行的问题
2019/11/12 Javascript
vue2路由基本用法实例分析
2020/03/06 Javascript
python实现的二叉树算法和kmp算法实例
2014/04/25 Python
Python操作列表之List.insert()方法的使用
2015/05/20 Python
尝试使用Python多线程抓取代理服务器IP地址的示例
2015/11/09 Python
Python制作刷网页流量工具
2017/04/23 Python
python中 chr unichr ord函数的实例详解
2017/08/06 Python
Python实现多态、协议和鸭子类型的代码详解
2019/05/05 Python
python递归法解决棋盘分割问题
2019/07/17 Python
python调用支付宝支付接口流程
2019/08/15 Python
python日志模块logbook使用方法
2019/09/19 Python
基于h5py的使用及数据封装代码
2019/12/26 Python
Pytorch使用MNIST数据集实现基础GAN和DCGAN详解
2020/01/10 Python
银行财务部实习生的自我鉴定
2013/11/27 职场文书
2014三八妇女节活动总结范文四篇
2014/03/09 职场文书
社区领导班子四风问题原因分析及整改措施
2014/09/28 职场文书
怀孕辞职信怎么写
2015/02/28 职场文书
病危通知书样本
2015/04/17 职场文书
推销搭讪开场白
2015/05/28 职场文书
加薪申请书应该这样写!
2019/07/04 职场文书