如果想要畫如下的圖形

先畫一個餅圖
'''
Created on 2023年4月9日
@author: admin
'''
import numpy as np
import matplotlib.pyplot as plt
n = 20
X = np.ones(n)
X[-1] *= 2
plt.pie(X, explode=X*.05, colors = ['%f' % (i/float(n)) for i in range(n)])

繼續進行參數設置
fig = plt.gcf()
w, h = fig.get_figwidth(), fig.get_figheight()
r = h / float(w)
plt.xlim(-1.5, 1.5)
plt.ylim(-1.5 * r, 1.5 * r)
plt.xticks([])
plt.yticks([])

畫上面的一個框

from matplotlib.patches import FancyBboxPatch
ax = plt.gca()
ax.add_patch(FancyBboxPatch((-0.05, .87),
width=.66, height=.165, clip_on=False,
boxstyle="square,pad=0", zorder=3,
facecolor='white', alpha=1.0,
transform=plt.gca().transAxes))
FancyBboxPatch主要是實現一個框形區域,后面專門講這個例子
FancyBboxPatch 類似于 Rectangle ,但它在矩形周圍畫了一個漂亮的方框。矩形框到花式框的轉換委托給中定義的樣式類 BoxStyle .
參數: | xy浮起,浮起 框的左下角。 width浮動 盒子的寬度。 height浮動 盒子的高度。 箱型 STR或 matplotlib.patches.BoxStylestr或 花式盒子的樣式。這可以是 BoxStyle 樣式名的實例或字符串,以及可選的逗號分隔屬性(例如“Round,pad=0.2”)。此字符串傳遞給 BoxStyle 構建一個 BoxStyle 對象。請參閱此處獲取完整的文檔。 以下框樣式可用:
mutation_scale浮點,默認值:1 應用于填充樣式的縮放因子。 mutation_aspect可選浮動 在變異之前,矩形的高度將被該值壓縮,并且變異的長方體將被它的倒數拉伸。例如,這允許不同的水平和垂直填充。 |
添加文字

plt.text(-0.05, 1.02, " Pie Chart: plt.pie(...)\n",
horizontalalignment='left',
verticalalignment='top',
size='xx-large',
transform=plt.gca().transAxes)
plt.text(-0.05, 1.01, "\n\n Make a pie chart of an array ",
horizontalalignment='left',
verticalalignment='top',
size='large',
transform=plt.gca().transAxes)
完整的代碼如下
'''
Created on 2023年4月9日
@author: admin
'''
import numpy as np
import matplotlib.pyplot as plt
n = 20
X = np.ones(n)
X[-1] *= 2
plt.pie(X, explode=X*.05, colors = ['%f' % (i/float(n)) for i in range(n)])
fig = plt.gcf()
w, h = fig.get_figwidth(), fig.get_figheight()
r = h / float(w)
plt.xlim(-1.5, 1.5)
plt.ylim(-1.5 * r, 1.5 * r)
plt.xticks([])
plt.yticks([])
# Add a title and a box around it
from matplotlib.patches import FancyBboxPatch
ax = plt.gca()
ax.add_patch(FancyBboxPatch((-0.05, .87),
width=.66, height=.165, clip_on=False,
boxstyle="square,pad=0", zorder=3,
facecolor='white', alpha=1.0,
transform=plt.gca().transAxes))
#
plt.text(-0.05, 1.02, " Pie Chart: plt.pie(...)\n",
horizontalalignment='left',
verticalalignment='top',
size='xx-large',
transform=plt.gca().transAxes)
plt.text(-0.05, 1.01, "\n\n Make a pie chart of an array ",
horizontalalignment='left',
verticalalignment='top',
size='large',
transform=plt.gca().transAxes)
plt.show()
import numpy as np
import matplotlib.pyplot as plt
n = 20
X = np.ones(n)
X[-1] *= 2
plt.pie(X, explode=X*.05, colors = ['%f' % (i/float(n)) for i in range(n)])
fig = plt.gcf()
w, h = fig.get_figwidth(), fig.get_figheight()
r = h / float(w)
plt.xlim(-1.5, 1.5)
plt.ylim(-1.5 * r, 1.5 * r)
plt.xticks([])
plt.yticks([])
# Add a title and a box around it
from matplotlib.patches import FancyBboxPatch
ax = plt.gca()
ax.add_patch(FancyBboxPatch((-0.05, .87),
width=.66, height=.165, clip_on=False,
boxstyle="square,pad=0", zorder=3,
facecolor='white', alpha=1.0,
transform=plt.gca().transAxes))
plt.text(-0.05, 1.02, " Pie Chart: plt.pie(...)\n",
horizontalalignment='left',
verticalalignment='top',
size='xx-large',
transform=plt.gca().transAxes)
plt.text(-0.05, 1.01, "\n\n Make a pie chart of an array ",
horizontalalignment='left',
verticalalignment='top',
size='large',
transform=plt.gca().transAxes)
plt.show()
轉載自頭條號:洪較瘦不著調是么。(侵刪)