首页 > 解决方案 > 如何在 Squarify 树形图上添加 % 符号

问题描述

我正在尝试使用 Squarify 绘制树状图。但我不知道如何将“%”添加到浮点值。

ListaCryptos = ['BTC', 'ETH']
tamaños2 = [61,755, 32,992]

sq.plot(sizes=np.around(tamaños2, decimals=2),
            label=ListaCryptos,
            value=np.around(tamaños2, decimals=2),
            color=colores,
            pad=True,
            alpha=0.9,
            bar_kwargs=dict(linewidth=2, edgecolor="white"),
            text_kwargs={'fontsize': 32})

    plt.title("Rentabilidad", fontsize=32, fontweight="bold")
    plt.axis('off')
    plt.show()

然后在情节中,我需要将值表达为 61,75% 32,99%

我怎么能在我的浮点值中添加一个百分比符号。

标签: pythonpercentagesquarify

解决方案


First:[61,755, 32,992]表示四个值:61and75532and 992
要获得两个值,您必须.61.75532.992


要显示%,您必须转换floatstring并添加%.

使用f-string您可以创建字符串,%甚至可以舍入值。

value=[f'{x:.2f}%' for x in tamaños2],

最少的工作代码

import squarify as sq
import matplotlib.pyplot as plt
import numpy as np

cryptos = ['BTC', 'ETH']   # PEP8: `lower_case_names` for variables
values = [61.755, 32.992]  # PEP8: English names for variables

sq.plot(sizes=np.around(values, decimals=2),
        label=cryptos,

        value=[f'{x:.2f}%' for x in values],  # <---

        #color=colores,
        pad=True,
        alpha=0.9,
        bar_kwargs=dict(linewidth=2, edgecolor="white"),
        text_kwargs={'fontsize': 32})

plt.title("Rentabilidad", fontsize=32, fontweight="bold")
plt.axis('off')
plt.show()

在此处输入图像描述


PEP 8——Python 代码风格指南


推荐阅读