matplotlib-24 调整图例和标题样式

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

matplotlib-24 调整图例和标题样式

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:文本标签列表。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值