彻底解决 macOS 下Matplotlib 中文显示乱码问题

ops/2024/11/27 21:39:49/

彻底解决 macOS 下Matplotlib 中文显示乱码问题

  1. 在使用 Python 的 Matplotlib 库进行数据可视化时,中文字符的显示常常会出现乱码问题,尤其在 macOS 系统上。
  2. 在网上找了一大堆方法,花了很久,发现不是要安装各种字体就是要改配置,而且字体真的不好找也不好安装。

解决方案概述

  1. 安装支持中文的字体:确保系统中安装了支持中文的字体。本文列出的一般都是系统自带的。
  2. 配置 Matplotlib 使用这些字体:在 Matplotlib 中设置字体,以确保中文字符能够正确显示。
python">import matplotlib.pyplot as plt
import matplotlib# 设置字体为支持中文的字体
matplotlib.rcParams['axes.unicode_minus'] = False  # 解决负号 '-' 显示为方块的问题
matplotlib.rcParams['font.family'] = 'Kaiti SC'  # 可以替换为其他字体
'''
以下是一些在 macOS 上支持中文的字体:
Kaiti SC(楷体 SC)
Hiragino Sans GB(华文黑体)
Songti SC(宋体 SC)
Heiti TC(黑体 TC)
PingFang HK(苹方 HK)
Arial Unicode MS(Arial Unicode MS
'''

以下代码展示了如何配置 Matplotlib 并绘制每种字体的样式示例:

python">import matplotlib.pyplot as plt
import numpy as np# 字体列表
fonts = ['Kaiti SC','Hiragino Sans GB','Songti SC','Heiti TC','PingFang HK','Arial Unicode MS'
]# 创建一个图形
plt.figure(figsize=(10, 8))# 绘制每种字体的样式
for i, font in enumerate(fonts):plt.subplot(len(fonts), 1, i + 1)plt.text(0.5, 0.5, f'示例文本 - {font}', fontsize=20, ha='center', va='center', fontfamily=font)plt.axis('off')  # 关闭坐标轴plt.tight_layout()
plt.show()

在这里插入图片描述


http://www.ppmy.cn/ops/137181.html

相关文章

自定义协议

1. 问题引入 问题:TCP是面向字节流的(TCP不关心发送的数据是消息、文件还是其他任何类型的数据。它简单地将所有数据视为一个字节序列,即字节流。这意味着TCP不会对发送的数据进行任何特定的边界划分,它只是确保数据的顺序和完整…

HarmonyOS开发者社区有奖征文二期活动开启!

HarmonyOS开发者社区有奖征文活动第二期如约而至!在上一期的基础上,我们精心策划了更多样化的主题,旨在为开发者们提供一个更广阔的交流平台。无论您是想探讨HarmonyOS的技术细节,还是分享您的开发经验,或是记录您与Ha…

电脑自动关机时间如何定?Wise Auto Shutdown 设置关机教程

在日常使用电脑的过程中,有时我们需要让电脑在特定的时间自动关机,比如在下载大文件完成后、执行长时间的任务结束时,或者只是单纯想在某个预定时间让电脑自动关闭以节省能源。这时候,Wise Auto Shutdown 这款软件就能派上大用场了…

WordCloud去掉停用词(fit_words+generate)的2种用法

-------------词云图集合------------- WordCloud去掉停用词(fit_wordsgenerate)的2种用法 通过词频来绘制词云图(jiebaWordCloud) Python教程95:去掉停用词词频统计jieba.tokenize示例用法 将进酒—李白process_t…

DrissionPage爬虫工具教程

当然可以!下面是一些更高级和复杂的 DrissionPage 使用示例,包括处理动态加载的内容、处理登录和会话、处理多页面操作等。 处理动态加载的内容 许多现代网站使用 JavaScript 动态加载内容。在这种情况下,我们需要等待特定的元素出现&#…

笔记mfc11

Subclass(子类化)是MFC中最常用的窗体技术之一。子类化完成两个工作:一是把窗体类对象attach到一个windows窗体实体中(即把一个窗体的hwnd赋给该类)。另外就是把该类对象的消息加入到消息路由中,使得该类可以捕获消息。 让edit能…

python tkinter 控件实现鼠标悬停提示,提示文本动态展示

展示效果 全部代码和使用示例 # _*_ coding:utf-8 _*_ import tkinter as tk import pyautoguiscreen_width, screen_height pyautogui.size()class WidgetTip:"""鼠标悬停提示"""def __init__(self, widget, text):self.widget widgetself.…

刘铁猛C#入门 026 重写与多态

类的继承 类成员的“横向扩展”(成员越来越多)类成员的“纵向扩展”(行为改变,版本增高)类成员的隐藏(不常用)重写与隐藏的发生条件:函数成员,可见,签名一致 函数成员:方法 、属性可见:父类修饰符是public protected …