在window 上安装matplotlib

本文详述了在Windows上安装matplotlib的步骤,包括使用pip安装,更新pip,以及如何修改matplotlibrc配置文件以支持中文显示。通过复制中文字体到指定目录并配置文件,可以实现matplotlib在图形中正确显示中文。

Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。
在这里插入图片描述

1.首先在python里安装pip,打开安装python的文件夹,找到python\scripts查看是否有pip.exe,如果有说明python里已经安装了pip,直接进入下一步。如果没有pip.exe,则需要先安装pip,官网上有详细教程,此处不再介绍。链接https://pip.pypa.io/en/stable/installing/

2.添加环境变量,右键我的电脑-属性-点击高级系统设置(系统属性)-右下角环境变量-path-将python\scripts的路径添加进去
在这里插入图片描述

将python\scripts的路径加入到path里面,用分号;隔开(注意此处python\scripts的路径以电脑上scripts文件夹所在的地址为准。然后点击确定。

3.快捷键win+R,输入cmd,打开命令行窗口,先输入python -m pip install -U pip setuptools进行升级,或者直接跳入下一步。

4.输入python -m pip install matplotlib进行自动安装,等待安装完成。
在这里插入图片描述


修改配置文件matplotlibrc,让Matplotlib显示中文
阅读目录

第一步:将中文字体复制到matplotlib的字体目录中
第二步:配置文件m

<think> 我们正在解决Windows系统下Matplotlib使用中文字体的问题。根据引用[1]和[2],我们可以采取以下步骤: 核心目标:让Matplotlib能够找到并使用系统中已安装的中文字体(如SimHei)。 步骤: 1. 确认系统中已安装所需中文字体(如SimHei)。在Windows中,字体通常位于C:\Windows\Fonts\。 2. 将字体文件复制到Matplotlib的字体目录(ttf文件夹)中。 3. 清除并重建Matplotlib的字体缓存。 4. 配置Matplotlib使用该中文字体。 详细步骤: 1. 检查字体是否已安装: 打开C:\Windows\Fonts\,查看是否有SimHei(黑体)或其他中文字体(如Microsoft YaHei, SimSun等)。如果没有,需要先下载并安装(右键安装)。 2. 获取Matplotlib的字体目录: 在Python中运行以下代码获取字体目录: ```python import matplotlib as mpl print(mpl.get_data_path() + "\\fonts\\ttf") ``` 3. 将字体文件复制到Matplotlib的字体目录: 假设我们要使用SimHei字体,且该字体文件名为simhei.ttf(在C:\Windows\Fonts\下),则复制该文件到Matplotlib的ttf目录。 可以使用Python代码复制,也可以手动复制。 4. 清除字体缓存并重建: Matplotlib会缓存字体列表,所以需要重建缓存。在Python中执行: ```python from matplotlib.font_manager import _rebuild _rebuild() # 注意:这可能需要管理员权限,或者如果缓存文件被占用,可以尝试删除缓存文件 ``` 缓存文件通常位于:~/.matplotlib/fontlist-vXXX.json(其中XXX是版本号),可以手动删除。 5. 配置Matplotlib使用中文字体: 有两种方式: 方式一:在代码中局部设置(推荐) ```python plt.rcParams['font.sans-serif'] = ['SimHei'] # 如果要指定多个字体,可以用逗号分隔 plt.rcParams['axes.unicode_minus'] = False # 解决负号显示问题 ``` 方式二:修改matplotlibrc文件(全局设置) 找到matplotlibrc文件(通过`print(mpl.matplotlib_fname())`获取路径),然后修改: ``` font.family : sans-serif font.sans-serif : SimHei, DejaVu Sans, Arial, ... # 将SimHei放在最前面 axes.unicode_minus : False # 将负号显示为正常字符 ``` 6. 测试: ```python import matplotlib.pyplot as plt plt.plot([1, 2, 3], [1, 4, 9]) plt.title('测试中文标题') plt.show() ``` 注意: - 如果重建缓存后仍然找不到字体,可以尝试删除缓存文件(位于`~/.matplotlib/`下的fontlist-vXXX.json),然后再次重建。 - 如果遇到权限问题,可以尝试以管理员身份运行Python或IDE。 引用说明: [1]提到Windows系统字体目录为C:\Windows\Fonts,且需要复制字体到Matplotlib的字体目录并重建缓存。 [2]给出了复制字体文件并重建缓存的具体代码步骤。 根据以上步骤,我们即可在Windows下使用中文字体。 §§相关问题§§ 1. 如何在Matplotlib中全局设置中文字体避免重复配置? 2. 如何处理Matplotlib中文字体配置后的字符间距异常问题? 3. Linux系统与Windows系统的Matplotlib字体配置有何差异? </think> ### Windows系统下Matplotlib使用中文字体的完整解决方案 根据引用资料[1][2],解决Windows系统Matplotlib中文显示问题的核心是**添加支持中文的字体并更新字体缓存**。以下是具体操作步骤: #### 1. 确认系统字体位置 Windows字体默认存放路径(引用[1]): ```python C:\Windows\Fonts\ ``` #### 2. 安装中文字体(以黑体SimHei为例) 1. 下载SimHei字体文件(.ttf格式) 2. 右键字体文件 → "为所有用户安装" 3. 或复制到系统字体目录:`C:\Windows\Fonts\simhei.ttf`(引用[2]) #### 3. 复制字体到Matplotlib目录 ```python import matplotlib as mpl import shutil # 查找Matplotlib字体目录 font_dir = mpl.get_data_path() + "\\fonts\\ttf" # 复制系统字体到Matplotlib目录(引用[2]) shutil.copy("C:\\Windows\\Fonts\\simhei.ttf", font_dir) ``` #### 4. 重建字体缓存 ```python from matplotlib.font_manager import _rebuild _rebuild() # 强制重建字体缓存(引用[2]) ``` #### 5. 配置Matplotlib使用中文字体 ##### 局部配置(推荐) ```python import matplotlib.pyplot as plt plt.rcParams['font.family'] = 'SimHei' # 指定黑体 plt.rcParams['axes.unicode_minus'] = False # 解决负号显示问题 # 测试中文显示 plt.plot([1, 2, 3], [4, 5, 1]) plt.title('中文标题测试成功 ✓') # ✓ 使用Unicode符号 plt.show() ``` ##### 全局配置(修改配置文件) 1. 查找配置文件路径: ```python print(mpl.matplotlib_fname()) # 输出配置文件路径(引用[4]) ``` 2. 编辑`matplotlibrc`文件: ``` font.family : SimHei axes.unicode_minus : False ``` #### 6. 验证字体安装成功 ```python from matplotlib.font_manager import FontManager print([f.name for f in FontManager().ttflist if 'hei' in f.name.lower()]) # 应输出包含'SimHei'的列表 ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值