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使用pylab库实现画线功能的方法详解
Jun 08 Python
python3.5 tkinter实现页面跳转
Jan 30 Python
深入浅析python with语句简介
Apr 11 Python
pygame游戏之旅 添加键盘按键的方法
Nov 20 Python
PyQt5 多窗口连接实例
Jun 19 Python
python2.7的flask框架之引用js&css等静态文件的实现方法
Aug 22 Python
在django中自定义字段Field详解
Dec 03 Python
python2 对excel表格操作完整示例
Feb 23 Python
Python enumerate内置库用法解析
Feb 24 Python
python实现简单的购物程序代码实例
Mar 03 Python
python 日志 logging模块详细解析
Mar 31 Python
获取CSDN文章内容并转换为markdown文本的python
Sep 06 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强制转换类型及远程管理插件的安全隐患
2014/06/30 PHP
PHP使用pear自带的mail类库发邮件的方法
2015/07/08 PHP
php生成验证码函数
2015/10/20 PHP
PHP开发之用微信远程遥控服务器
2018/01/25 PHP
ThinkPHP5+UEditor图片上传到阿里云对象存储OSS功能示例
2019/08/05 PHP
php连接mysql数据库最简单的实现方法
2019/09/24 PHP
JavaScript Array Flatten 与递归使用介绍
2011/10/30 Javascript
web基于浏览器的本地存储方法应用
2012/11/27 Javascript
javascript 控制input只允许输入的各种指定内容
2014/06/19 Javascript
基于Phantomjs生成PDF的实现方法
2016/11/07 Javascript
BootStrop前端框架入门教程详解
2016/12/25 Javascript
vue-cli的webpack模板项目配置文件分析
2017/04/01 Javascript
JS仿淘宝搜索框用户输入事件的实现
2017/06/19 Javascript
深入浅析Vue.js中 computed和methods不同机制
2018/03/22 Javascript
使用JS实现动态时钟
2020/03/12 Javascript
[42:20]2014 DOTA2华西杯精英邀请赛5 24 DK VS NewBee
2014/05/25 DOTA
Python编程实现两个文件夹里文件的对比功能示例【包含内容的对比】
2017/06/20 Python
详解python:time模块用法
2019/03/25 Python
Python Image模块基本图像处理操作小结
2019/04/13 Python
Python远程视频监控程序的实例代码
2019/05/05 Python
python判断变量是否为int、字符串、列表、元组、字典的方法详解
2020/02/13 Python
一文读懂Python 枚举
2020/08/25 Python
Django执行源生mysql语句实现过程解析
2020/11/12 Python
LocalStorage记住用户和密码功能
2017/07/24 HTML / CSS
FORZIERI福喜利中国官网:奢侈品购物梦工厂
2019/05/03 全球购物
介绍一下HTTP、HTTPS和SSL
2012/12/16 面试题
护士岗前培训自我评鉴
2014/02/28 职场文书
经济信息系毕业生自荐信范文
2014/03/15 职场文书
初中班主任评语
2014/04/24 职场文书
校庆口号
2014/06/20 职场文书
入伍通知书
2015/04/23 职场文书
交通安全月活动总结
2015/05/08 职场文书
整脏治乱工作简报
2015/07/21 职场文书
2016优秀护士先进个人事迹材料
2016/02/25 职场文书
幼儿园大班教学反思
2016/03/02 职场文书
新西兰:最新留学学习计划书写作指南
2019/07/15 职场文书