matplotlib的学习6-annotation的标注
import matplotlib.pyplot as plt
import numpy as np
'''
当图线中某些特殊地方需要标注时,我们可以使用 annotation. matplotlib 中的 annotation 有两种方法
一种是用 plt 里面的 annotate,一种是直接用 plt 里面的 text 来写标注.
'''
x = np.linspace(-3, 3, 50)
y = 2*x + 1 plt.figure(num=1, figsize=(8, 5),)
plt.plot(x, y,) #挪动坐标轴的位置
ax = plt.gca()#获取ax的信息
ax.spines['right'].set_color('none')#虚化右边的线
ax.spines['top'].set_color('none')#虚化top的线
ax.xaxis.set_ticks_position('bottom')#设置刻度显示的位置
ax.spines['bottom'].set_position(('data', 0))#设置bottom那根线(也就是x轴),data应该是一个参数要让他靠近0
ax.yaxis.set_ticks_position('left')#调整y轴刻度显示的位置
ax.spines['left'].set_position(('data', 0))#调整左边那条线,也就是y轴线的位置 # 然后标注出点(x0, y0)的位置信息. 用plt.plot([x0, x0,], [0, y0,], 'k--', linewidth=2.5) 画出一条垂直于x轴的虚线. x0 = 1
y0 = 2*x0 + 1
plt.plot([x0, x0,], [0, y0,], 'k--', linewidth=2.5)#画虚线
# set dot styles
plt.scatter([x0, ], [y0, ], s=50, color='b')#标注点 # 添加注释 annotate
plt.annotate(r'$2x+1=%s$' % y0, xy=(x0, y0), xycoords='data', xytext=(+30, -30),#xycoords='data'基于数据的值来选择位置
textcoords='offset points', fontsize=16,#xytext=(+30, -30) 和 textcoords='offset points' 对于标注位置的描述 和 xy 偏差值,
arrowprops=dict(arrowstyle='->', connectionstyle="arc3,rad=.2")) #arrowprops是对图中箭头类型的一些设置. #添加注释text
#-3.7,3是选取text的位置 空格需要用到转字符,fontdict选择文本的字体
plt.text(-3.7, 3, r'$This\ is\ the\ some\ text. \mu\ \sigma_i\ \alpha_t$',
fontdict={'size': 16, 'color': 'r'}) plt.show()
能画虚线,能写注释,注释有两种情况第一种为annotate,第二种为text
matplotlib的学习6-annotation的标注的更多相关文章
- numpy, matplotlib库学习笔记
Numpy库学习笔记: 1.array() 创建数组或者转化数组 例如,把列表转化为数组 >>>Np.array([1,2,3,4,5]) Array([1,2,3,4,5]) ...
- matplotlib 强化学习
matplotlib 强化学习 import matplotlib.pyplot as plt ...,输入序列每一帧预测一个类别.OCR(Optical Character Recognition 光学字符识别). MIT口语系统研究组Rob Kass ...
- python matplotlib 库学习
基本使用 import matplotlib.pyplot as plt import numpy as np x = np.linspace(-1,1,50) y = 2*x+1 plt.figur ...
随机推荐
- Camtasia中对给录制的视频添加视觉效果
视频创作和后期剪辑对很多人来说是一件很头痛的事,对着屏幕一段一段.一帧一帧的进行调整会让人十分的心烦,有时花费了大量时间剪出来的视频质量却不高,让人有一种想砸键盘的冲动. 这种问题,除非是原视频素材质 ...
- Lombok之@Builder注解
Lombok之@Builder注解 前言 Lombok大家都知道,在使用POJO过程中,它给我们带来了很多便利,省下大量写get.set方法.构造器.equal.toString方法的时间.除此之外, ...
- vue springboot利用easypoi实现简单导出
vue springboot利用easypoi实现简单导出 前言 一.easypoi是什么? 二.使用步骤 1.传送门 2.前端vue 3.后端springboot 3.1编写实体类(我这里是dto, ...
- CentOS7.X 下安装MySQL8.0(附文件)
这是64位的安装包.如果需要32位的可以去官网下载哦.步骤一样 1 获取安装资源包 mysql-8.0.18-1.el7.x86_64.rpm-bundle.tar 链接: https://pan.b ...
- Java基础教程——线程局部变量
线程局部变量 ThreadLocal,线程局部变量,不提供锁,不做线程共享,而是为每个线程提供变量的独立副本. import java.util.concurrent.*; public class ...
- JQuery案例:暖心小广告
暖心小广告 写一个页面,每隔3秒显示小广告,再过3秒自动关闭. <head> <meta charset="UTF-8"> <title>暖心广 ...
- linux下安装python3.7.1
一.安装依赖环境 输入命令:yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readlin ...
- C# 9.0新特性详解系列之三:模块初始化器
1 背景动机 关于模块或者程序集初始化工作一直是C#的一个痛点,微软内部外部都有大量的报告反应很多客户一直被这个问题困扰,这还不算没有统计上的客户.那么解决这个问题,还有基于什么样的考虑呢? 在库加载 ...
- Linux下的MediaWiki的部署启动遇到的问题与解决方案
1. MySQL安装不成功 解决方案:https://bbs.csdn.net/topics/394377536 2. no space left on device ubuntu 解决方案:http ...
- Spring Cloud 学习 (三) Feign
新建 spring-cloud-eureka-feign-client Module pom <parent> <artifactId>spring-cloud-parent& ...