Matplotlib绘图中文不显示问题——自由选择中文-英文字体切换

0.问题

经常就会画图的过程中,因为Matplotlib对于中文的适应性并不是很好,很多时候,并不现实中文字体,所以会导致绘图遇到很多很多的麻烦,如下所示。

这写框框就是英文字体不匹配导致的,你的是中文,它默认是英文,所以就会导致这个不显示的问题。
在这里插入图片描述

那么如何解决呢,今天在绘图过程中,把这个问题给解决了,分享给大家。

1.获取自己电脑中所有的字体

首先,我们可以去找找看自己的电脑里面都有什么字体,如果你用的字体,电脑里面没有,也同样会出现上述的问题。

那么通过下面的路径,就可以找到自己的电脑中,都有哪些字体,一般都在C盘windows文件夹下的Fonts文件里面

C:\Windows\Fonts\

就可以看到很多的字体了,其中有些是中文的,有些是英文的。
在这里插入图片描述
那么早期的时候,我也是通过上面的方法找到了对应的字体。

但是遇见一个问题,那么我知道对应自己的位置,我要设置对应字体路径的时候,又出现问题了,什么问题呢。

比如,我现在要用黑体。我用搜索找到黑体,如下:
在这里插入图片描述
看到没有,对应的名称很奇怪,并且又空格,我要黑体,但是里面是黑体常规。我之前试过导入这个名字作为路径,并不行。

那用文件的路径呢,我用过这个对应的路径,我也没成功,照常来说应该是能成功的,如下所示。

### Matplotlib Pyplot 未找到的原因及解决方法 #### 原因分析 Matplotlib 的 `pyplot` 是一个功能强大的绘图模块,但如果遇到 “找到 pyplot” 或者导入失败的情况,通常可能由以下几个原因引起: 1. **Matplotlib 库未安装或安装完全** 如果环境中缺少 Matplotlib 库或者其安装过程中出现了问题,则可能导致无法正常调用 `pyplot` 模块[^3]。 2. **依赖库版本冲突** Matplotlib 需要一些其他库的支持才能正常运行,例如 Pillow 和 NumPy。如果这些依赖库的版本过低或过高,可能会引发兼容性问题,从而导致 `pyplot` 导入失败[^3]。 3. **环境配置错误** Python 环境可能存在多个版本,而某些情况下当前使用的解释器并未正确加载所需的包。这可能是由于虚拟环境管理当引起的。 4. **路径问题** 当项目目录下存在同名文件(如命名为 `matplotlib.py` 或 `pyplot.py` 的脚本)时,Python 可能会优先加载本地文件而非标准库中的模块,进而造成冲突并报错。 --- #### 解决方法 以下是针对上述常见原因的具体解决方案: 1. **确认 Matplotlib 是否已正确安装** 使用以下命令检查 Matplotlib 是否存在于当前环境中: ```bash pip show matplotlib ``` 若无任何输出表明尚未安装该库;此时可通过执行下列语句完成安装操作: ```bash pip install matplotlib ``` 2. **更新相关依赖项至最新稳定版** 对于 PIL (现更名为 Pillow),建议将其升级到至少 v8.0.0 版本来满足 Matplotlib 所需条件: ```bash pip install --upgrade pillow ``` 同样地,对于 Numpy 这一核心数值运算工具来说也需要保持适当范围内版本号匹配关系以免发生异常状况: ```bash pip install numpy==指定合适版本号 ``` 3. **切换至正确的 Python 虚拟环境** 如果正在使用 Virtualenv、Conda 等隔离开发空间,请先激活对应的工作区后再尝试重新载入所需资源。 4. **排查命名冲突隐患** 审视工作区内是否存在潜在干扰因素——即是否有自定义源码名称与官方第三方扩展相重叠现象存在。若有发现则应尽快更改为独一无二的新标签以便消除歧义风险。 5. **测试基本功能验证修复成果** 创建简单演示程序来检验调整后的实际效果如何: ```python import matplotlib.pyplot as plt plt.plot([1, 2, 3], [4, 5, 6]) plt.show() ``` --- ### 示例代码展示 以下是一段完整的示例代码用于说明如何正确引入以及应用 `matplotlib.pyplot` 来绘制基础图表: ```python import matplotlib.pyplot as plt # 设置全局字体样式以支持中文显示 from matplotlib import rcParams rcParams['font.family'] = 'SimHei' # 黑体字形 rcParams['axes.unicode_minus'] = False # 正常化负号显示 # 数据准备 x_values = range(1, 6) y_values = [value**2 for value in x_values] # 绘制图形 plt.figure(figsize=(8, 5)) plt.plot(x_values, y_values, marker='o') plt.title("平方函数曲线", fontsize=16) plt.xlabel("X轴坐标值", fontsize=12) plt.ylabel("Y轴坐标值", fontsize=12) # 显示图像窗口 plt.grid(True) plt.show() ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

驭风少年君

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值