我正在制作一系列饼图,并且正在寻找一种自动放置图例的方法,以避免与其他元素重叠(而不仅仅是对每个单独的图进行手动干预)。例如:
fake_df = pd.DataFrame([70, 15, 15],
columns=['category'],
index=['Category Name 1', 'Category Name 2', 'Category Name 3'])
fake_df.plot.pie(y='category',
labels=None,
autopct="%1.0f%%",
pctdistance=1.2,
)
我知道在这种情况下,我可以明确地将图例分配给“左上角”,或者以其他方式手动操纵图例或百分比的位置以避免重叠,但这对于百分比显示的情况不起作用例如左上角:
fake_df = pd.DataFrame([71, 15, 14],
columns=['category'],
index=['Category Name 1', 'Category Name 2', 'Category Name 3'])
fake_df.plot.pie(y='category',
labels=None,
autopct="%1.0f%%",
pctdistance=1.2,
)
plt.legend(['Category Name 1', 'Category Name 2', 'Category Name 3'], loc='upper left')
由于我会自动制作大量饼图,其中没有一个始终有效的图例放置位置,而且我不知道潜在的重叠位置在哪里,所以我需要一个通用的解决方案,能够可靠地将图例放置在这样的位置它避免了重叠。这可能吗?
fake_df = pd.DataFrame([70, 15, 15],
columns=['category'],
index=['Category Name 1', 'Category Name 2', 'Category Name 3'])
ax = fake_df.plot.pie(y='category',
labels=None,
autopct="%1.0f%%",
pctdistance=1.2,
)
plt.legend(labels=fake_df.index, bbox_to_anchor=(1.05, 1), loc='upper left')