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命令行参数解析OptionParser类用法实例
Oct 09 Python
Python基于list的append和pop方法实现堆栈与队列功能示例
Jul 24 Python
Python通过调用有道翻译api实现翻译功能示例
Jul 19 Python
Django中如何使用sass的方法步骤
Jul 09 Python
django中SMTP发送邮件配置详解
Jul 19 Python
python Elasticsearch索引建立和数据的上传详解
Aug 04 Python
使用Python实现图像标记点的坐标输出功能
Aug 14 Python
Python 图像对比度增强的几种方法(小结)
Sep 25 Python
python matplotlib折线图样式实现过程
Nov 04 Python
Pytorch to(device)用法
Jan 08 Python
Python实现上下文管理器的方法
Aug 07 Python
pytorch简介
Nov 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
雄兵连三大错觉:凯莎没了,凉冰阵亡了,华烨觉得自己又行了
2020/04/09 国漫
浅析php适配器模式(Adapter)
2014/11/25 PHP
php文件上传类的分享
2017/07/06 PHP
php弹出提示框的是实例写法
2019/09/26 PHP
jquery动态加载图片数据练习代码
2011/08/04 Javascript
javascript实现平滑无缝滚动
2020/08/09 Javascript
bootstrap的3级菜单样式,支持母版页保留打开状态实现方法
2016/11/10 Javascript
jquery+ajax实现省市区三级联动效果简单示例
2017/01/04 Javascript
微信小程序request出现400的问题解决办法
2017/05/23 Javascript
jQuery Position方法使用和兼容性
2017/08/23 jQuery
微信小程序授权登录及解密unionId出错的方法
2018/09/26 Javascript
mocha的时序规则讲解
2019/02/16 Javascript
详解如何使用微信小程序云函数发送短信验证码
2019/03/13 Javascript
vue里的data要用return返回的原因浅析
2019/05/28 Javascript
Node.JS枚举统计当前文件夹和子目录下所有代码文件行数
2019/08/23 Javascript
ES6扩展运算符和rest运算符用法实例分析
2020/05/23 Javascript
vue pages 多入口项目 + chainWebpack 全局引用缩写说明
2020/09/21 Javascript
在Django的模型和公用函数中使用惰性翻译对象
2015/07/27 Python
Python实现爬取百度贴吧帖子所有楼层图片的爬虫示例
2018/04/26 Python
python接口自动化测试之接口数据依赖的实现方法
2019/04/26 Python
搞清楚 Python traceback的具体使用方法
2019/05/13 Python
Python+OpenCV实现将图像转换为二进制格式
2020/01/09 Python
python实现在内存中读写str和二进制数据代码
2020/04/24 Python
关于python中remove的一些坑小结
2021/01/04 Python
调用HTML5的Canvas API绘制图形的快速入门指南
2016/06/17 HTML / CSS
PatPat德国:妈妈的每日优惠
2019/10/02 全球购物
女大学生自我鉴定
2013/12/09 职场文书
英语系本科生求职信范文
2013/12/18 职场文书
3.12植树节活动总结2014
2014/03/13 职场文书
工作失职检讨书(精华篇)
2014/10/15 职场文书
生日答谢词
2015/01/05 职场文书
承兑汇票延期证明
2015/06/23 职场文书
初中同学会致辞
2015/08/01 职场文书
vue项目打包后路由错误的解决方法
2022/04/13 Vue.js
Redis基本数据类型List常用操作命令
2022/06/01 Redis
Linux中一对多配置日志服务器的详细步骤
2022/07/23 Servers