鱼C论坛

 找回密码
 立即注册
查看: 136|回复: 3

求助

[复制链接]
发表于 2024-10-29 14:20:36 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
代码
import numpy as np
from matplotlib import pyplot as plt

plt.rcParams['font.sans-serif']=['KaiTi']
plt.rcParams['axes.unicode minus']= False

x1 = np.arange(5)

y1 = np.random.randint(10,20,5)
y2 = np.random.randint(10,20,5)

bar_width = 0.3

plt.bar(x1,y1, bar_width)
plt.bar(x1 + bar_width, y2, bar_width)
tick_label = ['a', 'b','c','d','e']

plt.xticks(x1 + bar_width /2,tick_label)
plt.legend(labels=["男生""女生"],loc="upper right")
plt.show()



报错:

Traceback (most recent call last):
  File "C:\Users\Lenovo\Desktop\·111.py", line 2, in <module>
    from matplotlib import pyplot as plt
  File "C:\Users\Lenovo\AppData\Local\Programs\Python\Python313\Lib\site-packages\matplotlib\__init__.py", line 263, in <module>
    _check_versions()
  File "C:\Users\Lenovo\AppData\Local\Programs\Python\Python313\Lib\site-packages\matplotlib\__init__.py", line 257, in _check_versions
    module = importlib.import_module(modname)
  File "C:\Users\Lenovo\AppData\Local\Programs\Python\Python313\Lib\importlib\__init__.py", line 88, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "C:\Users\Lenovo\AppData\Local\Programs\Python\Python313\Lib\site-packages\kiwisolver\__init__.py", line 8, in <module>
    from ._cext import (
ImportError: DLL load failed while importing _cext: 找不到指定的模块。


版本:
matplotlib      3.9.2
numpy           2.1.2
python           3.13



想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-10-29 14:43:21 | 显示全部楼层
根据报错信息,似乎是`matplotlib`或其依赖库安装有问题。以下步骤可能有助于解决问题:

1. **确保Python和库的兼容性**:
   - Python 3.13 尚未广泛发布,可能导致与依赖库的不兼容。尝试使用较稳定的版本,如3.8或3.9。

2. **重装相关库**:
   - 重新安装`matplotlib`和`numpy`,以及`kiwisolver`,这是`matplotlib`的依赖库。

   在命令提示符中运行以下命令:

pip uninstall matplotlib numpy kiwisolver
   pip install matplotlib numpy kiwisolver

3. **检查环境变量**:
   - 确保Python的安装路径和Scripts路径正确配置在系统环境变量中。

4. **更新pip**:
   - 更新pip到最新版本,以确保安装的库是兼容版本:

python -m pip install --upgrade pip

此外,代码中部分不完整或错误的地方可以如下修正:

- `plt.rcParams`应该配置为一个字典,而不是False,例如:

plt.rcParams['axes.titlesize'] = 20

- 完善代码中的空白变量,如`tick_label`和`labels`:

tick_label = ['A', 'B', 'C', 'D', 'E']
  plt.xticks(x1 + bar_width / 2, tick_label)
  plt.legend(labels=['y1', 'y2'], loc="upper right")

重新执行代码,如果依旧有问题,可以考虑使用虚拟环境来隔离并解决库兼容性的问题。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-11-1 13:37:11 | 显示全部楼层
raise KeyError(
KeyError: 'axes.unicode minus is not a valid rc parameter (see rcParams.keys() for a list of valid parameters)'
去掉plt.rcParams['axes.unicode minus']= False后正常
版本:
matplotlib      3.7.1
numpy          1.23.5
python          3.8.10
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-11-1 13:45:53 | 显示全部楼层
plt.rcParams['axes.unicode minus']= False
应改为
plt.rcParams['axes.unicode_minus']= False
底横!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-21 19:11

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表