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写入中英文字符串到文件的方法
May 06 Python
完美解决python遍历删除字典里值为空的元素报错问题
Sep 11 Python
Python中easy_install 和 pip 的安装及使用
Jun 05 Python
利用python模拟sql语句对员工表格进行增删改查
Jul 05 Python
Python编程之字符串模板(Template)用法实例分析
Jul 22 Python
Python内存管理方式和垃圾回收算法解析
Nov 11 Python
Python数据类型中的“冒号“[::]——分片与步长操作示例
Jan 24 Python
用python实现对比两张图片的不同
Feb 05 Python
详解django中使用定时任务的方法
Sep 27 Python
python 求某条线上特定x值或y值的点坐标方法
Jul 09 Python
Flask缓存静态文件的具体方法
Aug 02 Python
Python爬取奶茶店数据分析哪家最好喝以及性价比
Sep 23 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遍历目录与文件夹的多种方法详解
2013/11/14 PHP
php使用curl实现简单模拟提交表单功能
2017/05/15 PHP
PHP JWT初识及其简单示例
2018/10/10 PHP
CSS3画一个阴阳八卦图
2021/03/09 HTML / CSS
JS+XML 省份和城市之间的联动实现代码
2009/10/14 Javascript
JavaScript 变量作用域分析
2011/07/04 Javascript
js调用后台servlet方法实例
2013/06/09 Javascript
Jquery实现兼容各大浏览器的Enter回车切换输入焦点的方法
2014/09/01 Javascript
jQuery中:has选择器用法实例
2014/12/30 Javascript
JavaScript比较两个对象是否相等的方法
2015/02/06 Javascript
JS实现仿QQ聊天窗口抖动特效
2015/05/10 Javascript
JavaScript中定时控制Throttle、Debounce和Immediate详解
2016/11/17 Javascript
JavaScript中this的用法实例分析
2016/12/19 Javascript
bootstrap table 表格中增加下拉菜单末行出现滚动条的快速解决方法
2017/01/05 Javascript
对于Javascript 执行上下文的全面了解
2017/09/05 Javascript
微信小程序非swiper组件实现的自定义伪3D轮播图效果示例
2018/12/11 Javascript
小程序分享链接onShareAppMessage的具体用法
2020/05/22 Javascript
JavaScript中作用域链的概念及用途讲解
2020/08/06 Javascript
Python网页解析利器BeautifulSoup安装使用介绍
2015/03/17 Python
提升Python程序运行效率的6个方法
2015/03/31 Python
讲解Python中if语句的嵌套用法
2015/05/14 Python
浅谈python for循环的巧妙运用(迭代、列表生成式)
2017/09/26 Python
python之当你发现QTimer不能用时的解决方法
2019/06/21 Python
pygame实现贪吃蛇游戏(下)
2019/10/29 Python
django 取消csrf限制的实例
2020/03/13 Python
Python如何测试stdout输出
2020/08/10 Python
几款Python编译器比较与推荐(小结)
2020/10/15 Python
Python实现哲学家就餐问题实例代码
2020/11/09 Python
JustFab加拿大:女鞋、靴子、手袋和服装在线
2018/05/18 全球购物
三陽商会官方网站:Sanyo iStore
2019/05/15 全球购物
2014领导班子四风问题查摆思想汇报
2014/09/13 职场文书
先进集体申报材料
2014/12/25 职场文书
技术员岗位职责范本
2015/04/11 职场文书
2015年爱国卫生工作总结
2015/04/22 职场文书
在职证明书模板
2015/06/15 职场文书
初婚初育证明范本
2015/06/18 职场文书