默认情况下,饼图的完整轴为“关闭”。您可以使用frame参数来设置它。在ax.pie(..., frame=True)
这会在轴上产生记号和记号标签,因此,最好将其设置在外部
^{pr2}$
另外,你可能想让你的脊骨脱落for _, spine in ax.spines.items():
spine.set_visible(False)
或者,在一条线上plt.setp(ax.spines.values(),visible=False)
最后,对于不超过轴区域的ticklabels,可以固定轴范围,例如ax.axis([-1,1,-1,1]),并使用较小的饼图半径,例如radius=.27。在
复制完整代码
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
n = 3
nums_df = pd.DataFrame([np.random.randint(1, 20, size=5) for _ in xrange(n)])
row_labels = ["row {:d}".format(i) for i in xrange(n)]
nums_df.index = row_labels
fig, axes = plt.subplots(1, n)
for i, ax in enumerate(axes):
ax.pie(nums_df.loc[row_labels[i]], labels=nums_df.loc[row_labels[i]], frame=False, radius=0.27)
ax.set_frame_on(True)
ax.axis("equal")
ax.axis([-1,1,-1,1])
plt.setp(ax.spines.values(),visible=False)
if i%2 == 1:
ax.set_facecolor('red')
plt.show() ;和13;