Resolva python usando matplotlib para desenhar caracteres chineses ilegíveis

Este artigo participou do evento "Newcomer Creation Ceremony" para iniciar juntos o caminho da criação de ouro.

prefácio

  • Na programação Python, muitas vezes precisamos usar matplotlib para desenho (artigos de pesquisa científica, análise de dados, etc.) Quando precisamos definir descrições chinesas para títulos ou coordenadas, as configurações padrão do matplotlib encontrarão o problema de exibir uma forma de caixa. , você precisa resolver esse problema modificando o arquivo de configuração matplotlib ou definindo a fonte chinesa especificada diretamente no código. Este artigo apresentará as etapas específicas dos dois métodos e a comparação dos métodos!
  • Existem dois tipos de soluções: permanentes e temporárias

Se este artigo for útil para você, você pode clicar em três links! Seu apoio e atenção são a força motriz para os blogueiros criarem!

Referências

www.pianshen.com/article/296…

Solução alternativa (definir fonte dinamicamente)

  • Configurações permanentes: modifique o arquivo de configuração matplotlib

    • Veja o caminho do arquivo de configuração:

    Nota: Se você usa o ambiente virtual conda, preste atenção para entrar no ambiente correspondente e então execute os seguintes comandos, caso contrário o arquivo de configuração modificado pode não ser o ambiente correspondente!

    import matplotlib
    matplotlib.matplotlib_fname()
    复制代码
    • Adicione fontes chinesas à pasta ttf [Este artigo define a fonte simhei (clique para baixar) ]

    • Modifique o arquivo de configuração:

      ①Remover o comentário:imagem.png

      ②Remova o comentário e adicione o nome da fonte chinesa (o nome da fonte chinesa adicionado à pasta ttf):imagem.png

      ③ Remova o comentário:imagem.png

  • Configurações temporárias: especifique a fonte no código (conveniente para personalizar a fonte, recomendação pessoal)

    import matplotlib
    matplotlib.matplotlib_fname()
    复制代码
    • Defina a fonte do desenho no código
    import matplotlib
    
    matplotlib.rcParams['font.sans-serif'] = ['SimHei']
    matplotlib.rcParams['font.family']='sans-serif'
    #解决负号'-'显示为方块的问题
    matplotlib.rcParams['axes.unicode_minus'] = False
    复制代码
    • Depois disso, você pode desenhar normalmente e definir as informações em chinês.
  • Comparação de métodos:

método Modificação temporária modificação permanente
flexibilidade Modificação de fonte flexível Fonte de configuração fixa
Conveniência Cada arquivo py precisa ser definido Defina uma vez, entre em vigor para sempre

Acho que você gosta

Origin juejin.im/post/7082344514655879176
Recomendado
Clasificación