【问题标题】:How to align legends in python?如何在python中对齐图例?
【发布时间】:2019-07-20 05:39:55
【问题描述】:

我正在努力让我的传说保持一致。即使我将字符串设置为相同大小,字体似乎也无法对齐。

我希望百分比与底部的百分比一致。

import numpy as np
import matplotlib.pyplot as plt


fig, ax = plt.subplots(figsize=(5, 5))

data = list(df['Preço'])

total = df['Preço'].sum()
l = []
for x in list(df['Preço']):
    l.append("{0:.1%}".format(x/total))   
l

ativos = [x + ((maxlen - len(x)) * ' ' ) + '    ' for x in list(df['Nome do Ativo'])]
for i in range(len(l)):
    ativos[i] = ativos[i] + ((5 - len(l[i]))*' ') + l[i]


wedges, autotexts = ax.pie(data)

leg = ax.legend(wedges, ativos, title="Ativos \n", loc='lower center' , bbox_to_anchor=(0.5, -0.50, 0, 1), labelspacing=0.15)


plt.setp(autotexts, size=0)
ax.set_title(r"Composição")
plt.show()

【问题讨论】:

    标签: python matplotlib charts


    【解决方案1】:

    欢迎来到 Stackoverflow。

    发生这种情况是因为图例的标准字体中有不同的字符 有不同的宽度。我假设文本显示为对齐,例如, 一个终端窗口,因为这样的窗口通常使用固定宽度的字体。

    解决问题的最简单方法是将图例字体设置为 固定宽度字体,如 Courier。 This answer 告诉你如何做到这一点,

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-07
      • 1970-01-01
      • 2019-10-03
      • 2020-08-25
      • 2021-11-28
      • 2019-08-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多