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 Web框架Flask信号机制(signals)介绍
Jan 01 Python
详解Python中的type()方法的使用
May 21 Python
Python命令启动Web服务器实例详解
Feb 23 Python
Python创建xml文件示例
Mar 22 Python
Python基于回溯法子集树模板解决全排列问题示例
Sep 07 Python
Python基于生成器迭代实现的八皇后问题示例
May 23 Python
python实现决策树ID3算法的示例代码
May 30 Python
CentOS 7下安装Python3.6 及遇到的问题小结
Nov 08 Python
python中退出多层循环的方法
Nov 27 Python
Python 如何提高元组的可读性
Aug 26 Python
Python数据存储之 h5py详解
Dec 26 Python
Python爬虫爬取糗事百科段子实例分享
Jul 31 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
全国FM电台频率大全 - 24 贵州省
2020/03/11 无线电
Protoss兵种对照表
2020/03/14 星际争霸
php巧获服务器端信息
2006/12/06 PHP
linux使用crontab实现PHP执行计划定时任务
2014/05/10 PHP
Yii实现自动加载类地图的方法
2015/04/01 PHP
php使用Session和文件统计在线人数
2015/07/04 PHP
基于JQuery实现CheckBox全选全不选
2011/06/27 Javascript
javascript笔记 String类replace函数的一些事
2011/09/22 Javascript
ASP.NET jQuery 实例9  通过控件hyperlink实现返回顶部效果
2012/02/03 Javascript
利用谷歌地图API获取点与点的距离的js代码
2012/10/11 Javascript
对table和ul实现js分页示例分享
2014/02/24 Javascript
jquery让指定的元素闪烁显示的方法
2015/03/17 Javascript
jQuery选择id属性带有点符号元素的方法
2015/03/17 Javascript
JavaScript类继承及实例化的方法
2015/07/25 Javascript
详解Node.js模块间共享数据库连接的方法
2016/05/24 Javascript
jquery 抽奖小程序实现代码
2016/10/12 Javascript
AngularJS Phonecat实例讲解
2016/11/21 Javascript
vue使用drag与drop实现拖拽的示例代码
2017/09/07 Javascript
JS对象与json字符串相互转换实现方法示例
2018/06/14 Javascript
jQuery中ajax请求后台返回json数据并渲染HTML的方法
2018/08/08 jQuery
使用axios请求时,发送formData请求的示例
2019/10/29 Javascript
[01:17:55]VGJ.T vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/20 DOTA
[02:51]2018年度DOTA2最佳中单位选手-完美盛典
2018/12/17 DOTA
在Python3中使用asyncio库进行快速数据抓取的教程
2015/04/02 Python
Python守护线程用法实例
2017/06/23 Python
Django 连接sql server数据库的方法
2018/06/30 Python
python tkinter控件布局项目实例
2019/11/04 Python
Flask中jinja2的继承实现方法及实例
2021/03/03 Python
详解CSS透明opacity和IE各版本透明度滤镜filter的最准确用法
2016/12/20 HTML / CSS
微信浏览器取消缓存的方法
2015/03/28 HTML / CSS
印尼值得信赖的在线交易网站:Bukalapak
2019/03/11 全球购物
Happy Socks英国官网:购买五颜六色的袜子
2020/11/03 全球购物
借款担保书范文
2014/05/13 职场文书
2014幼儿园中班工作总结
2014/11/10 职场文书
邀请函样本
2015/02/02 职场文书
Python基础之常用库常用方法整理
2021/04/30 Python