matplotlib: управление цветом шрифта круговой диаграммы, шириной линии - PullRequest
13 голосов
/ 16 декабря 2009

Я использую несколько простых функций matplotlib для рисования круговой диаграммы:

f = цифра (...) пирог (трещины, взорваться = взорваться, ...)

Однако я не смог выяснить, как установить цвет шрифта по умолчанию, цвет линии, размер шрифта или передать их функции pie (). Как это сделать?

Ответы [ 3 ]

15 голосов
/ 04 ноября 2010

Опоздал на вечеринку, но я столкнулся с этой проблемой и не хотел изменять мой rcParams.

Вы можете изменить размер текста для меток или авто-процентов, сохранив текст, возвращенный при создании круговой диаграммы, и изменив их соответствующим образом с помощью matplotlib.font_manager.

Подробнее об использовании matplotlib.font_manager вы можете прочитать здесь: http://matplotlib.sourceforge.net/api/font_manager_api.html

Размеры встроенных шрифтов указаны в API; size: относительное значение xx-small, x-small, small, medium, large, x-large, x-large или абсолютного размера шрифта, например 12"

from matplotlib import pyplot as plt
from matplotlib import font_manager as fm

fig = plt.figure(1, figsize=(6,6))
ax = fig.add_axes([0.1, 0.1, 0.8, 0.8])
plt.title('Raining Hogs and Dogs')

labels = 'Frogs', 'Hogs', 'Dogs', 'Logs'
fracs = [15,30,45, 10]

patches, texts, autotexts = ax.pie(fracs, labels=labels, autopct='%1.1f%%')

proptease = fm.FontProperties()
proptease.set_size('xx-small')
plt.setp(autotexts, fontproperties=proptease)
plt.setp(texts, fontproperties=proptease)

plt.show()

alt text

11 голосов
/ 16 декабря 2009

Глобальные цвета по умолчанию, ширину линий, размеры и т. Д. Можно настроить с помощью словаря rcParams:

import matplotlib
matplotlib.rcParams['text.color'] = 'r'
matplotlib.rcParams['lines.linewidth'] = 2

Полный список параметров можно найти здесь .

Вы также можете настроить ширину линии после рисования круговой диаграммы:

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.

К сожалению, я не могу найти способ настроить цвет шрифта или размер меток круговой диаграммы с помощью метода круговой диаграммы или объекта Wedge. Глядя в источник файла axes.py (строки 4606 на matplotlib 99.1), они создаются с использованием метода Axes.text. Этот метод может принимать аргумент цвета и размера, но в настоящее время он не используется. Без редактирования источника единственным вариантом может быть сделать это глобально, как описано выше.

2 голосов
/ 10 июня 2010
matplotlib.rcParams['font.size'] = 24

меняет размер шрифта круговой диаграммы

...