之前学习了matplotlib的一些基本画图方法(查看上一节),这次主要是学习在图中加一些文字和其其它有趣的东西。

先来个最简单的图

from matplotlib import pyplot as plt
import numpy as np x = np.linspace(-2, 2, 50)
y = x**2
plt.xlim((-3,3))#设置x坐标范围
plt.ylim((0,5))#设置y坐标范围
plt.plot(x,y) plt.show()

接下来加一下文字描述,第一种方法,plt.text()

from matplotlib import pyplot as plt
import numpy as np x = np.linspace(-2, 2, 50)
y = x**2
plt.xlim((-3,3))#设置x坐标范围
plt.ylim((0,5))#设置y坐标范围
plt.plot(x,y) plt.text(
-2,#文字x坐标
2,#文字y坐标
'this is simple text',#内容
fontsize=14#文字大小
) plt.show()

这里我们还可以用$$将文字包住可以让文字字体更加好看,同时也可以实现一些特殊字符的表达,比如一些常用的数学符号,这对写论文有好处

from matplotlib import pyplot as plt
import numpy as np x = np.linspace(-2, 2, 50)
y = x**2
plt.xlim((-3,3))#设置x坐标范围
plt.ylim((0,5))#设置y坐标范围
plt.plot(x,y) plt.text(
-2,#文字x坐标
2,#文字y坐标
'this is simple text',#内容
fontsize=14#文字大小
)
plt.text(
-2,#文字x坐标
4,#文字y坐标
r'$this\ is\ simple\ text\ \alpha_i\ \mu_i$',#用$包住空格需要用转义字符转义,包括特殊字符alpha等也需要,alpha_i表示alpha下标i
fontsize=14#文字大小
) plt.show()

接下来,第二种文字描述,这种要高级一点,用plt.annotate()实现,比如我要在曲线上x=1.5的地方加

并且向右下偏移一些位置,加上一个曲线箭头指向x=1.5的点

from matplotlib import pyplot as plt
import numpy as np x = np.linspace(-2, 2, 50)
y = x**2
plt.xlim((-3,3))#设置x坐标范围
plt.ylim((0,5))#设置y坐标范围
plt.plot(x,y) plt.text(
-2,#文字x坐标
2,#文字y坐标
'this is simple text',#内容
fontsize=14#文字大小
)
plt.text(
-2,#文字x坐标
4,#文字y坐标
r'$this\ is\ simple\ text\ \alpha_i\ \mu_i$',#内容
fontsize=14#文字大小
) x0 = 1.5
y0 = x0**2
plt.scatter(x0, y0, s=50, color='r')
plt.plot([x0, x0], [0, y0], linestyle='--', linewidth=2.0)
plt.annotate(r'$x**2=%s$' % y0,#内容
xy=(x0, y0),#文字坐标
xycoords='data',#文字坐标以data也就是x,y的值为基准
xytext=(+20,-30),#文字相对于xy坐标的偏移量
textcoords='offset points',#偏移基准
arrowprops=dict(arrowstyle='->',connectionstyle='arc3,rad=.2')#画一个曲线箭头指向xy坐标
) plt.show()

效果如上图,此方法比较复杂,详细参数说明可以参考官方api,好了,到这里就大功告成!

接下来准备学习一些常用类型的图了。

机器学习-数据可视化神器matplotlib学习之路(二)的更多相关文章

  1. 机器学习-数据可视化神器matplotlib学习之路(五)

    这次准备做一下pandas在画图中的应用,要做数据分析的话这个更为实用,本次要用到的数据是pthon机器学习库sklearn中一组叫iris花的数据,里面组要有4个特征,分别是萼片长度.萼片宽度.花瓣 ...

  2. 机器学习-数据可视化神器matplotlib学习之路(三)

    之前学习了一些通用的画图方法和技巧,这次就学一下其它各种不同类型的图.好了先从散点图开始,上代码: from matplotlib import pyplot as plt import numpy ...

  3. 机器学习-数据可视化神器matplotlib学习之路(一)

    直接上代码吧,说明写在备注就好了,这次主要学习一下基本的画图方法和常用的图例图标等 from matplotlib import pyplot as plt import numpy as np #这 ...

  4. 机器学习-数据可视化神器matplotlib学习之路(四)

    今天画一下3D图像,首先的另外引用一个包 from mpl_toolkits.mplot3d import Axes3D,接下来画一个球体,首先来看看球体的参数方程吧 (0≤θ≤2π,0≤φ≤π) 然 ...

  5. Python数据可视化——使用Matplotlib创建散点图

    Python数据可视化——使用Matplotlib创建散点图 2017-12-27 作者:淡水化合物 Matplotlib简述: Matplotlib是一个用于创建出高质量图表的桌面绘图包(主要是2D ...

  6. [机器学习]-[数据预处理]-中心化 缩放 KNN(二)

    上次我们使用精度评估得到的成绩是 61%,成绩并不理想,再使 recall 和 f1 看下成绩如何? 首先我们先了解一下 召回率和 f1. 真实结果 预测结果 预测结果   正例 反例 正例 TP 真 ...

  7. 学机器学习,不会数据分析怎么行——数据可视化分析(matplotlib)

    前言 前面两篇文章介绍了 python 中两大模块 pandas 和 numpy 的一些基本使用方法,然而,仅仅会处理数据还是不够的,我们需要学会怎么分析,毫无疑问,利用图表对数据进行分析是最容易的, ...

  8. python 数据可视化(matplotlib)

    matpotlib 官网 :https://matplotlib.org/index.html matplotlib 可视化示例:https://matplotlib.org/gallery/inde ...

  9. 绘图和数据可视化工具包——matplotlib

    一.Matplotlib介绍 Matplotlib是一个强大的Python**绘图**和**数据可视化**的工具包. # 安装方法 pip install matplotlib # 引用方法 impo ...

随机推荐

  1. notification 是同步的

    所有notification的观察者执行之后,post notification的函数才会往下执行.

  2. NLP总览

    一.自然语言处理概述 1)自然语言处理:利用计算机为工具,对书面实行或者口头形式进行各种各样的处理和加工的技术,是研究人与人交际中以及人与计算机交际中的演员问题的一门学科,是人工智能的主要内容. 2) ...

  3. apply、map、applymap、Dropna

    DataFrame常用易混淆方法 apply && map && applymap 1.apply():作用在一维的向量上时,可以使用apply来完成,如下所示 2.m ...

  4. android开发中遇到的一些问题

    buildToolsVersion 设置buildtool版本 今天遇到一个奇怪问题instant not supported 原来是设置显示offline...这个很无语,adb devices又能 ...

  5. redis桌面管理工具 redis-desktop-manager使用指南(转)

    版权声明:转自 http://blog.csdn.net/li396864285/article/details/54629898     概要:一款好用的Redis桌面管理工具,支持命令控制台操作, ...

  6. 007-配置IP和DNS

    2.配置DNS. 3.

  7. 1:4 UI标签和通用标签

          UI标签:负责用户界面输出的标签. 非标单:例如错误信息提示的标签 fielderror,actionerror,actionmessagr:系统错误消息的自动显示           通 ...

  8. Bus,Exclusive access,memory attribute

    指令LDREX,STREX是在armv6中新加的指令,配合AMBA3--AXI中的lock[1:0]信号. 在Atomic Access一节中是这么规定的:ARLOCK[1:0]/AWLOCK[1:0 ...

  9. ROS知识(2)----理解ROS系统结构

    学习新事物,方法高于技术本身,如果没有把握"BIG PICTURE"的话很难理解进去.通过以下几点进行理解ROS: ROS实际上不是操作系统,他只是一个通信的框架,一个代码管理的架 ...

  10. mysql设置环境变量

    临时修改环境变量 我们可以使用set语法在运行时修改环境变量,修改global变量后,对修改之前的session没有影响,对修修改之后的session生效:修改session变量后,修改后,对于该se ...