Anaconda环境下matplotlib中Axes3D不显示图像

问题:运行没有任何报错,但plt显示空白

 

问题分析:

anaconda环境选择python3.9,与matplotlib版本不兼容

解决办法:

新建anaconda环境:
1conda activate -n p3.7 python=3.7

2conda activate p3.7

3重新安装包

4运行代码(测试用)

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d.axes3d import Axes3D

def draw_pic(X,Y,Z,z_max,title,z_min = 0):
    fig = plt.figure()
    ax = Axes3D(fig)
    ax.plot_surface(X,Y,Z,rstride=1,cstride=1,cmap=plt.cm.hot)
    ax.set_zlim(z_min,z_max)
    ax.set_title(title)
    plt.show()

def get_X_AND_Y(X_min,X_max,Y_min,Y_max):
    X=np.arange(X_min,X_max,0.1)
    Y=np.arange(Y_min,Y_max,0.1)
    X,Y=np.meshgrid(X,Y)
    return X,Y

def Holder_table(X_min=-10,X_max=10,Y_min=-10,Y_max=10):
    X,Y=get_X_AND_Y(X_min,X_max,Y_min,Y_max)
    Z=-np.abs(np.sin(X)*np.cos(Y)*np.exp(np.abs(1-np.sqrt(X**2+Y**2)/np.pi)))
    return X,Y,Z,0,"Holder table function",-20
z_min = None
X,Y,Z,z_max,title,z_min = Holder_table()
draw_pic(X,Y,Z,z_max,title,z_min)

 运行成功

运行结果:

 鸣谢:姜祺凡

  • 6
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
根据引用\[1\]和引用\[2\]的信息,你遇到的问题是在导入matplotlib.pyplot时出现了ImportError: cannot import name 'fetch_mldata' from 'sklearn.datasets'的错误。这个错误的原因可能是因为fetch_mldata函数在最新版本的scikit-learn已经被弃用了。所以你需要更新你的代码以适应最新的scikit-learn版本。 根据引用\[3\]的信息,你可以尝试以下步骤来解决这个问题: 1. 打开Anaconda Prompt,并进入你的环境。 2. 使用命令`pip uninstall matplotlib`来卸载当前安装的matplotlib。 3. 确认是否成功删除了matplotlib的文件,如果没有删除,你可以手动删除。 4. 使用命令`pip install -i https://pypi.tuna.tsinghua.edu.cn/simple matplotlib`来重新安装matplotlib。 5. 重新打开Spyder,并尝试导入`import matplotlib.pyplot as plt`。 这样应该可以解决你遇到的问题。如果还有其他问题,请随时提问。 #### 引用[.reference_title] - *1* *3* [ImportError: cannot import name ‘_api‘ from ‘matplotlib](https://blog.csdn.net/wmm_hhh/article/details/128050373)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [【Bug记录】ImportError: cannot import name ‘fetch_mldata‘ from ‘sklearn.datasets](https://blog.csdn.net/weixin_51545953/article/details/127382891)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值