之前学习了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. bootstrap modal插件弹出窗口如何限制最大高度,并且在内容过多时可以滚动显示

    .modal-body{ max-height:400px; overflow-y:auto; } 只有在modal-body类上限制高度才能起作用,其他地方的限制均不起作用

  2. [LeetCode] questions conclusion_ Dynamic Programming

    Questions: [LeetCode] 198. House Robber _Easy tag: Dynamic Programming [LeetCode] 221. Maximal Squar ...

  3. 混淆和加密.NET开发工具

    .NET开发的工具,可以用ILSpy等很轻松的反编译查看源码,为了保护自己写的软件,一般会对软件进行加密,不仅内部关键数据通过加密,软件开发完毕后,对软件也进行加密,防止别人很轻松的反编译和查看到比较 ...

  4. localhost和本机IP和127.0.0.1之间的区别

    参考出处:https://www.zhihu.com/question/23940717 localhost 是个域名,不是地址,它可以被配置为任意的 IP 地址,不过通常情况下都指向 127.0.0 ...

  5. pythonon ddt数据驱动二(json, yaml 驱动)

    这一篇主要是关于文件的数据驱动. 一.通过json文件驱动 @ddt class MyTest(unittest.TestCase): @file_data('test_data_list.json' ...

  6. jxl(Java Excel API) 使用方法 【1】

    //   构建Workbook对象, 只读Workbook对象  //   直接从本地文档创建Workbook  //   从输入流创建Workbook Workbook workbook = nul ...

  7. IDEA 添加jar包的三种方式(重点:new uer Libraries)

    学习参考: http://zyjustin9.iteye.com/blog/2172445 交代: 本文只讲述类似eclipse中new uer Libraries的功能,即自己新建lib库.其他方法 ...

  8. Python正则处理多行日志一例(可配置化)

    正则表达式基础知识请参阅<正则表达式基础知识>,本文使用正则表达式来匹配多行日志并从中解析出相应的信息. 假设现在有这样的SQL日志: SELECT * FROM open_app WHE ...

  9. bzoj1642 / P2889 [USACO07NOV]挤奶的时间Milking Time

    P2889 [USACO07NOV]挤奶的时间Milking Time 普通的dp 休息时间R其实就是把结束时间后移R个单位而已.但是终点也需要后移R位到n+R. 每个时间段按起始时间排序,蓝后跑一遍 ...

  10. 主攻ASP.NET MVC4.0之重生:Asp.Net MVC WebApi OData

    1.新建MVC项目,安装OData Install-Package Microsoft.AspNet.WebApi.OData -Version 4.0.0 2.新建WebAPI Controller ...