Bom dia, Adriel! O erro ValueError pode estar acontecendo por alguns motivos na sua função texto_colorido
. Vou listar alguns pontos que podem estar causando o problema e como resolvê-los.
1. Problema com barras invertidas (\
) na string
No seu código, há um trecho com '\ferramentas\ e\ vasos'
, e as barras invertidas (\
) podem estar sendo interpretadas como caracteres de escape inválidos.
Solução:Use dupla barra invertida (\\
) ou transforme a string em raw string (r""
) para evitar esse problema:
'pneus, \\ferramentas\\ e\\ vasos'
ou
r'pneus, \ferramentas\ e\ vasos'
2. Formatação da String Multilinha
A quebra de linha \n
parece estar mal formatada junto com || $\bf{}``. Para corrigir, podemos usar **três aspas (
"""`)** ou concatenar corretamente:
texto = (
"Os dados que indicam que os 3 produtos que || $\bf{mais}$\n"
"venderam foram: || $\bf{pneus, ferramentas e vasos}$.\n"
"\n"
"Podemos notar no período mencionado também que as\n"
"ferramentas de jardinagem e materiais de revestimento\n"
"também possuem uma boa saída"
)
3. Lista de Cores com Número de Elementos Incompatível
A função texto_colorido
recebe uma lista de listas de cores, e se o número de grupos de cores não corresponder ao número de segmentos do texto, o Python pode gerar um ValueError
.
Solução:Verifique se a quantidade de elementos na lista de cores corresponde ao número de partes do texto:
cores = [[CINZA2, CINZA1], [CINZA2, AZUL2], [CINZA2], [CINZA2], [CINZA2], [CINZA2]]
Código Corrigido
texto = (
"Os dados que indicam que os 3 produtos que || $\bf{mais}$\n"
"venderam foram: || $\bf{pneus, ferramentas e vasos}$.\n"
"\n"
"Podemos notar no período mencionado também que as\n"
"ferramentas de jardinagem e materiais de revestimento\n"
"também possuem uma boa saída"
)
cores = [[CINZA2, CINZA1], [CINZA2, AZUL2], [CINZA2], [CINZA2], [CINZA2], [CINZA2]]
texto_colorido(1.05e6, 4, texto, cores, esp=22, ax=ax, fontsize=10)
plt.show()
Se o erro ainda persistir, compartilhe a mensagem completa do erro para analisarmos melhor!