我使用一些簡單的matplotlib函數繪製餅圖:matplotlib:控制餅圖字體顏色,線寬
F =圖(...) 餡餅(壓裂,爆炸=爆炸,.. )
但是,我找不到如何設置默認字體顏色,線條顏色,字體大小 - 或將它們傳遞給pie()。它是如何完成的?
我使用一些簡單的matplotlib函數繪製餅圖:matplotlib:控制餅圖字體顏色,線寬
F =圖(...) 餡餅(壓裂,爆炸=爆炸,.. )
但是,我找不到如何設置默認字體顏色,線條顏色,字體大小 - 或將它們傳遞給pie()。它是如何完成的?
全局默認的顏色,線條寬度,尺寸等,可以用rcParams字典調整:
import matplotlib
matplotlib.rcParams['text.color'] = 'r'
matplotlib.rcParams['lines.linewidth'] = 2
則params的完整列表,可以發現here.
你也可以調整線寬後您繪製餅圖:
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.
不幸的是,我不能想出一個辦法來調整餡餅的字體顏色或大小圖表標籤˚F從餅圖方法或楔形對象開始。查看axes.py的源代碼(matplotlib 99.1上的第4606行),它們是使用Axes.text方法創建的。此方法可以採用顏色和大小參數,但目前尚未使用。如果沒有編輯源代碼,您唯一的選擇可能是按照上述方法在全局範圍內完成。
matplotlib.rcParams['font.size'] = 24
確實改變了餅圖標籤字體大小
末晚會顯示了一點,但我遇到了這個問題,並沒有想改變我的rcParams。
您可以通過保留從創建餅圖返回的文本並使用matplotlib.font_manager適當修改它們來調整標籤或自動百分比的文本大小。
您可以在此處詳細瞭解使用matplotlib.font_manager: http://matplotlib.sourceforge.net/api/font_manager_api.html
內置字體大小在API中列出;尺寸:「xx-small」,「x-small」,「small」,「medium」,「large」,「x-large」,「xx-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()
這很好,謝謝。是否有類似的方式來改變切片之間的線重量? –
謝謝你,這是最有幫助的。 \t 一個補充:要設置實際楔形的行寬度,您必須使用(對於第一個楔形): pieWedgesCollection [0] [0] .set_linewidth(0) – Sam