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

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

Anaconda环境下matplotlib中Axes3D不显示图像_第1张图片

 

问题分析:

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)

 运行成功

运行结果:

Anaconda环境下matplotlib中Axes3D不显示图像_第2张图片

 鸣谢:姜祺凡

你可能感兴趣的:(matplotlib,python,开发语言)