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

本文详细介绍如何使用Matplotlib在图表中添加文字描述,包括基本的plt.text()方法及更高级的plt.annotate()方法,演示如何添加特殊字符、数学符号及带箭头的文字注释。

之前学习了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,好了,到这里就大功告成!

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

转载于:https://www.cnblogs.com/yifengjianbai/p/10258828.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值