Matplotlib
文本和标注可以为数据和图形之间提供额外的信息,帮助观察者更好地理解数据和图形的含义。
文本用于在图形中添加注释或提供更详细的信息,以帮助观察者理解图形的含义。
标注则是一种更加细粒度的文本信息,可以被用来为特定的数据点或区域提供更详细的信息。
本篇通过示例依次介绍文本和标注的常用使用方式。
1. 文本
文本在图形中主要用在标题,坐标轴,图形中的一些说明等等地方。
1.1. 颜色和字体
下面的示例演示了图形中各个部分文本的字体大小和颜色设置的方法:
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 10, 100)
y = x*x
fig = plt.figure()
ax = fig.add_axes([0.1, 0.1, 0.8, 0.8])
#设置 标题 的字体和颜色
ax.set_title("标题", fontdict={"fontsize": 25, "color": "r"})
#设置 X轴和Y轴 标签的字体和颜色
ax.set_xlabel("x轴", fontdict={"fontsize": 20,"color": "g"})
ax.set_ylabel("y轴", fontdict={"fontsize": 20,"color": "b"})
#按照坐标位置(2, 60)添加一段文本
ax.text(2, 60, "f(x) = x*x", fontdict={"fontsize": 15,"color": "k"})
ax.plot(x, y, label="sin")
ax.legend()
需要掌握的部分就是 fontdict
这个参数,这个字典还有其他参数可以控制字体,这里只演示了两个常用的参数:
- fontsize:字体大小设置
- color:文字颜色
1.2. latex公式
上面的示例中,f(x) = x*x
可以 latex
的方式来显示。latex
让能够显示各种复杂的数学公式,让文本看起来和数学书中一样。
x = np.linspace(0, 10, 100)
y = x*x
fig = plt.figure()
ax = fig.add_axes([0.1, 0.1, 0.8, 0.8])
#设置 标题 的字体和颜色
ax.set_title("标题", fontdict={"fontsize": 25, "color": "r"})
#设置 X轴和Y轴 标签的字体和颜色
ax.set_xlabel("x", fontdict={"fontsize": 20,"color": "g"})
ax.set_ylabel("$x^2$", fontdict={"fontsize": 20,"color": "b"})
#按照坐标位置(2, 60)添加一段文本
ax.text(2, 60, "$f(x) = x^2$", fontdict={"fontsize": 15,"color": "k"})
ax.plot(x, y, label="sin")
ax.legend()
上面将 Y轴的文本和 图形中间的数学公式改成了 latex
格式。
2. 标注
图形添加标注时,一般包含2个部分,一个指向数据的箭头,一段说明文字。
设置标注的核心参数是:
- xy:这是待标注的数据点的坐标
- xytext:标注文本的坐标,一般是文本的左上角的点
- b服务器托管网box:文本框的样式字典
- arrowprops:箭头的样式字典
下面的示例中,通过设置上面4个参数来演示几种常用的标注:
x = np.array(range(10))
y = np.array([89, 84, 30, 67, 41, 71, 62, 20, 89, 3])
fig = plt.figure()
ax = fig.add_axes([0.1, 0.1, 0.8, 0.8])
ax.plot(x, y)
ax.annotate(
"第一个值",
xy=(0, 89),
xytext=(-0.3, 70),
arrowprops={"arrowstyle": "->", "connectionstyle"服务器托管网: "arc3,rad=-0.5"},
)
ax.annotate(
"转折点一",
xy=(2, 30),
xytext=(1.8, 10),
bbox={"boxstyle": "round", "fc": "none", "ec": "g"},
arrowprops={"arrowstyle": "->"},
)
ax.annotate(
"转折点二",
xy=(3, 67),
xytext=(3, 85),
bbox={"boxstyle": "round", "fc": "lightblue", "ec": "r"},
arrowprops={"arrowstyle": "fancy"},
)
ax.annotate(
"最大值",
xy=(8, 89),
xytext=(6, 85),
bbox={"boxstyle": "round", "alpha":0.1},
arrowprops={"arrowstyle": "wedge,tail_width=0.8", "alpha":0.1},
)
- 第一个值:设置了箭头的弯曲度
- 转折点一:设置了边框
- 转折点二:设置了边框和背景色,同时设置了另一种箭头样式
- 最大值:设置了边框和另一种箭头的透明度。
3. 总结
在使用 Matplotlib
进行数据可视化时,合理使用文本和标注可以大大提高图形的可读性和易懂性,帮助观察者更好地理解数据和图形的含义。
但是,分析结果中是最重要的还是图形和数据,文本和标注不宜过度添加,也不能太花哨,以致喧宾夺主,本末倒置。
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
大家好,我是独孤风,一位曾经的港口煤炭工人,目前在某国企任大数据负责人,公众号大数据流动的作者。 虽然告诉自己要平静,但是当接到EMS录取通知书的那一刻,眼眶还是忍不住有些湿润。今年正好是是东北大学的建校100周年,录取通知书还附赠了小礼物。 上一…