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爬虫爬取一个网页上的图片地址实例代码
Jan 16 Python
基于Django URL传参 FORM表单传数据 get post的用法实例
May 28 Python
Python 3.3实现计算两个日期间隔秒数/天数的方法示例
Jan 07 Python
Python实现计算文件MD5和SHA1的方法示例
Jun 11 Python
python标记语句块使用方法总结
Aug 05 Python
python的range和linspace使用详解
Nov 27 Python
Python集合操作方法详解
Feb 09 Python
pytorch 中的重要模块化接口nn.Module的使用
Apr 02 Python
python中JWT用户认证的实现
May 18 Python
python2和python3哪个使用率高
Jun 23 Python
python 发送get请求接口详解
Nov 17 Python
Python操作Excel的学习笔记
Feb 18 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世纪万年历
2006/12/06 PHP
php、mysql查询当天,查询本周,查询本月的数据实例(字段是时间戳)
2017/02/04 PHP
在php的yii2框架中整合hbase库的方法
2018/09/20 PHP
Js 获取Gridview选中行的内容操作步骤
2013/02/05 Javascript
jquery插件开发注意事项小结
2013/06/04 Javascript
从数据结构的角度分析 for each in 比 for in 快的多
2013/07/07 Javascript
JavaScript实现点击按钮后变灰避免多次重复提交
2013/07/15 Javascript
jQuery实现响应鼠标滚动的动感菜单效果
2015/09/21 Javascript
浅谈JavaScript中的对象及Promise对象的实现
2015/11/15 Javascript
BootStrap3学习笔记(一)之网格系统
2016/05/20 Javascript
jQuery属性选择器用法示例
2016/09/09 Javascript
jQuery中$.ajax()方法参数解析
2016/10/22 Javascript
jquery实现侧边栏左右伸缩效果的示例
2017/12/19 jQuery
Node.js应用设置安全的沙箱环境
2018/04/23 Javascript
修改vue+webpack run build的路径方法
2018/09/01 Javascript
vue-cli随机生成port源码的方法
2019/09/02 Javascript
Vue登录主页动态背景短视频制作
2019/09/21 Javascript
vue 动态组件(component :is) 和 dom元素限制(is)用法说明
2020/09/04 Javascript
jQuery实现本地存储
2020/12/22 jQuery
python解析html开发库pyquery使用方法
2014/02/07 Python
Python3单行定义多个变量或赋值方法
2018/07/12 Python
pycharm 将python文件打包为exe格式的方法
2019/01/16 Python
使用Python-OpenCV向图片添加噪声的实现(高斯噪声、椒盐噪声)
2019/05/28 Python
Python 面向对象之封装、继承、多态操作实例分析
2019/11/21 Python
Python操作PostgreSql数据库的方法(基本的增删改查)
2020/12/29 Python
新加坡一家在线男士皮具品牌:Faire Leather Co.
2019/12/01 全球购物
英国现代、当代和设计师家具店:Furntastic
2020/07/18 全球购物
德国二手设计师时装和复古时装跳蚤市场:Mädchenflohmarkt
2020/11/09 全球购物
社区中秋节活动方案
2014/01/29 职场文书
公务员政审个人鉴定
2014/02/25 职场文书
2014年幼儿园德育工作总结
2014/12/17 职场文书
销售经理工作检讨书
2015/02/19 职场文书
尼克胡哲观后感
2015/06/08 职场文书
关于感恩老师的古诗句
2019/08/20 职场文书
dubbo集成zipkin获取Traceid的实现
2021/07/26 Java/Android