TeX
使用TeX对文本内容进行渲染,使用r"$$"的模式,非数字表达式以斜体输出,呈现印刷级别的文档效果。
# -*- coding: UTF-8 -*-
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
mpl.rcParams["font.sans-serif"] = ["SimHei"]
mpl.rcParams["axes.unicode_minus"] = False
x = np.linspace(-2*np.pi, 2*np.pi, 200)
y = np.sin(x)
plt.plot(x, y, label=r"$\sin(x)$")
plt.legend(loc="upper right")
plt.title(r"$\sin(x)$函数")
plt.show()

图例样式调整
# -*- coding: UTF-8 -*-
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
mpl.rcParams["font.sans-serif"] = ["SimHei"]
mpl.rcParams["axes.unicode_minus"] = False
x = np.arange(0, 2.1, 0.1)
y1 = x
y2 = x ** 2
y3 = x ** 3
plt.plot(x, y1, label="$x^{1}$")
plt.plot(x, y2, label="$x^{2}$")
plt.plot(x, y3, label="$x^{3}$")
plt.legend(loc="upper left",
bbox_to_anchor=(0.05, 0.96),
ncol=3,
title="指数函数",
shadow=True,
fancybox=True)
plt.show()

- loc:位置参数。可以的取值为:upper right;upper left;lower left;lower right;center left;center right;lower center; upper center;center。
- bbox_to_anchor:具体位置参数。一般有四个取值(a,b,c,d)。距离画布左侧的距离=a*X轴长度。距离画布底部的距离=b*Y轴长度。线框长度=c*X轴长度。线框宽度=d*Y轴长度。
- shadow:为True时代表有阴影。
- fancybox:为True时代表线框有圆角。
标题样式调整
# -*- coding: UTF-8 -*-
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
mpl.rcParams["font.sans-serif"] = ["SimHei"]
mpl.rcParams["axes.unicode_minus"] = False
x = np.arange(0, 2.1, 0.1)
y1 = x
y2 = x ** 2
y3 = x ** 3
plt.plot(x, y1, label="$x^{1}$")
plt.plot(x, y2, label="$x^{2}$")
plt.plot(x, y3, label="$x^{3}$")
plt.legend(loc="upper left",
bbox_to_anchor=(0.05, 0.96),
ncol=3,
title="指数函数",
shadow=True,
fancybox=True)
plt.title("函数图像",
loc="center",
family="SimHei",
size=20,
style="oblique",
color="r")
plt.show()

- loc:位置。可选参数为:left,center,right。
- family:字体。
- size:字号
- color:字体颜色。
- style:风格。
饼图的图例
# -*- coding: UTF-8 -*-
import matplotlib as mpl
import matplotlib.pyplot as plt
mpl.rcParams["font.sans-serif"] = ["SimHei"]
mpl.rcParams["axes.unicode_minus"] = False
data = [4, 9, 5, 10]
labels=["哈士奇", "贵宾犬", "吉娃娃", "柴犬"]
sum = sum(data)
num = []
for i in data:
num.append(i/sum)
wedges, texts, autotexts = plt.pie(num,
autopct="%3.1f%%",
textprops=dict(color="w"),
colors=["r", "g", "b", "y"])
plt.legend(wedges,
labels,
fontsize=12,
title="狗的种类",
loc="center right",
bbox_to_anchor=(0.95, 0.1, 0.3, 1))
plt.setp(autotexts, size=15, weight="bold")
plt.setp(texts, size=12)
plt.title("不同类型狗的数量所占的百分比", size=20)
plt.show()

plt.legend(wedges,labels)
- wedges:饼片示例列表。
- labels:文本标签列表。
该博客介绍了如何使用matplotlib库在Python中调整图例和标题的样式。内容包括利用TeX渲染高质量文本,图例的位置参数如loc和bbox_to_anchor的设置,以及是否启用阴影和圆角。此外,还讲解了标题的定位、字体、字号、颜色和风格的选择。最后提到了饼图图例的处理,涉及wedges和labels的使用。
607

被折叠的 条评论
为什么被折叠?



