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 相关文章推荐
简单的Python2.7编程初学经验总结
Apr 01 Python
Python类定义和类继承详解
May 08 Python
使用python加密自己的密码
Aug 04 Python
Python编程实现的简单Web服务器示例
Jun 22 Python
django文档学习之applications使用详解
Jan 29 Python
Python多线程threading和multiprocessing模块实例解析
Jan 29 Python
Python 中包/模块的 `import` 操作代码
Apr 22 Python
PyCharm+Qt Designer+PyUIC安装配置教程详解
Jun 13 Python
Pycharm 2020年最新激活码(亲测有效)
Sep 18 Python
以SQLite和PySqlite为例来学习Python DB API
Feb 05 Python
python获取对象信息的实例详解
Jul 07 Python
用Python仅20行代码编写一个简单的端口扫描器
Apr 08 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电台频率大全 - 14 江西省
2020/03/11 无线电
利用php+mysql来做一个功能强大的在线计算器
2010/10/12 PHP
返回对象在当前级别中是第几个元素的实现代码
2011/01/20 Javascript
Fixie.js 自动填充内容的插件
2012/06/28 Javascript
基于jQuery的动态增删改查表格信息,可左键/右键提示(原创自Zjmainstay)
2012/07/31 Javascript
javascript对下拉列表框(select)的操作实例讲解
2013/11/29 Javascript
在JS中解析HTML字符串示例代码
2014/04/16 Javascript
手机开发必备技巧:javascript及CSS功能代码分享
2015/05/25 Javascript
javascript判断并获取注册表中可信任站点的方法
2015/06/01 Javascript
jQuery基础_入门必看知识点
2016/07/04 Javascript
利用JS实现scroll自定义滚动效果详解
2017/10/17 Javascript
Javascript中的作用域及块级作用域
2017/12/08 Javascript
Angular2 自定义表单验证器的实现方法
2018/12/14 Javascript
微信小程序实现banner图轮播效果
2020/06/28 Javascript
JS实现的贪吃蛇游戏案例详解
2019/05/01 Javascript
three.js利用gpu选取物体并计算交点位置的方法示例
2019/11/25 Javascript
vue+vant使用图片预览功能ImagePreview的问题解决
2020/04/10 Javascript
详解js创建对象的几种方式和对象方法
2021/03/01 Javascript
[02:52]2017DOTA2国际邀请赛中国区预选赛晋级之路
2017/07/03 DOTA
python socket多线程通讯实例分析(聊天室)
2016/04/06 Python
Python使用Matplotlib模块时坐标轴标题中文及各种特殊符号显示方法
2018/05/04 Python
python 制作自定义包并安装到系统目录的方法
2018/10/27 Python
pytorch使用指定GPU训练的实例
2019/08/19 Python
基于Tensorflow:CPU性能分析
2020/02/10 Python
jupyter notebook远程访问不了的问题解决方法
2021/01/11 Python
pytorch 实现L2和L1正则化regularization的操作
2021/03/03 Python
css3实例教程 一款纯css3实现的发光屏幕旋转特效
2014/12/07 HTML / CSS
美国体育用品商店:Academy Sports + Outdoors
2020/01/04 全球购物
音乐教育感言
2014/03/05 职场文书
施工协议书范本
2014/04/22 职场文书
语文教研活动总结
2014/07/02 职场文书
学生夜不归宿检讨书
2014/09/23 职场文书
六年级学生期末评语
2014/12/26 职场文书
解决Mysql的left join无效及使用的注意事项说明
2021/07/01 MySQL
Python数据可视化之Seaborn的安装及使用
2022/04/19 Python
基于Python编写一个监控CPU的应用系统
2022/06/25 Python