我想為餅圖添加一個標題,右側有圖例。目前,標題不在中心!
from matplotlib import pyplot as plt
import numpy as np
import pandas as pd
def plot(df,xname,yname,pngname):
title = "sample title"
x = df[xname]
y = df[yname]
fig, ax = plt.subplots(figsize=(5, 5))
patches, texts = ax.pie(x,#autopct='%.1f%%',
startangle=90, radius=1.2,
wedgeprops={'linewidth': .1, 'edgecolor': 'white'},
textprops={'size': 'x-large'})
labels = ['{1:1.1f} {0}'.format(i,j) for i,j in zip(y,x)]
patches, labels, dummy=zip(*sorted(zip(patches, labels, x),
key=lambda x: x[2],
reverse=True))
plt.legend(patches, labels,
frameon=False,
loc='center left',
bbox_to_anchor=(1, 0.5),
labelspacing=0,
#handletextpad=0.1,
fontsize=12)
ax.set_title(title)
plt.tight_layout()
fig.savefig(pngname, dpi=fig.dpi, bbox_inches="tight")
print("[[./%s]]"%pngname)
return
df = pd.DataFrame({
'key': ['AAAA', 'BBBB', 'CCCC', 'DDDD'],
'value':[ 20 ,6, 6, 8]})
plot(df,"value","key","demo.png")
我怎樣才能把標題放在中間?

uj5u.com熱心網友回復:
這真的取決于你所說的“中心”是什么意思
如果你的意思是把它放在餅圖的中心,你可以使用 
您可以使用引數來text獲得不同的背景顏色或字體大小等內容。您還可以使用fig.transFigure代替ax.transAxes繪制圖形坐標而不是軸坐標。
如果您希望標題在圖形頂部居中,請使用
(請注意,此y引數中的引數suptitle設定為 0.85。請參閱有關定位的問題suptitle。)
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/362621.html
標籤:Python matplotlib
