matplotlib:控制饼图字体颜色、线宽

matplotlib:控制饼图字体颜色、线宽,matplotlib,font-size,Matplotlib,Font Size,我正在使用一些简单的matplotlib函数绘制饼图: f = figure(...) pie(fracs, explode=explode, ...) from matplotlib import pyplot as plt fig = plt.figure(figsize=(8,8)) pieWedgesCollection = plt.pie([10,20,50,20],labels=("one","two","three","four"),colors=("b","g","r","y"

我正在使用一些简单的matplotlib函数绘制饼图:

f = figure(...)
pie(fracs, explode=explode, ...)
from matplotlib import pyplot as plt
fig = plt.figure(figsize=(8,8))
pieWedgesCollection = plt.pie([10,20,50,20],labels=("one","two","three","four"),colors=("b","g","r","y"))[0] #returns a list of matplotlib.patches.Wedge objects
pieWedgesCollection[0].set_lw(4) #adjust the line width of the first one.

但是,我找不到如何设置默认字体颜色、线条颜色、字体大小,或者如何将它们传递给pie()。它是如何完成的?

全局默认颜色、线宽、大小等可以使用rcParams字典进行调整:

import matplotlib
matplotlib.rcParams['text.color'] = 'r'
matplotlib.rcParams['lines.linewidth'] = 2
可以找到参数的完整列表

也可以在绘制饼图后调整线宽:

f = figure(...)
pie(fracs, explode=explode, ...)
from matplotlib import pyplot as plt
fig = plt.figure(figsize=(8,8))
pieWedgesCollection = plt.pie([10,20,50,20],labels=("one","two","three","four"),colors=("b","g","r","y"))[0] #returns a list of matplotlib.patches.Wedge objects
pieWedgesCollection[0].set_lw(4) #adjust the line width of the first one.
不幸的是,我无法从pie方法或楔形对象中找到调整饼图标签字体颜色或大小的方法。查看axes.py的源代码(matplotlib 99.1上的第4606行),它们是使用axes.text方法创建的。此方法可以接受颜色和大小参数,但当前未使用此参数。在不编辑源代码的情况下,您唯一的选择可能是如上所述全局执行

matplotlib.rcParams['font.size'] = 24

确实更改了饼图标签字体大小

在聚会上出现得有点晚,但我遇到了这个问题,不想更改我的rcParams

通过保留创建饼图返回的文本,并使用matplotlib.font\U管理器对其进行适当修改,可以调整标签或自动百分比的文本大小

您可以在此处阅读有关使用matplotlib.font_管理器的更多信息:

api中列出了内置字体大小; “大小:相对值‘xx小’、‘x小’、‘小’、‘中’、‘大’、‘x大’、‘xx大’或绝对字体大小,例如12”


谢谢你,这很有帮助。另外:要设置实际楔块的线宽,必须使用(对于第一个楔块):pieWedgesCollection[0][0]。设置线宽(0)那么,如何使字体颜色为“两个”绿色,“一个”蓝色。。。?你知道怎么做吗?很好,谢谢。是否有类似的方法来更改切片之间的线宽?如何根据饼图段颜色更改每个标签的字体颜色将其置于plt.pie语句上方