一、問題描述
在進行多元線性回歸模型的可視化展示的時候,需要用到Axes3D庫進行繪圖,但是出現(xiàn)了問題,代碼沒有報錯,但是圖像顯示不出來,如下圖所示:
二、問題分析
Axes3D(fig)
將自身添加到圖像中,自3.4版本之后被棄用。
三、問題解決
按照提示,使用如下代碼替換 ax = Axes3D(fig)
即可:
ax = Axes3D(fig,auto_add_to_figure=False)
fig.add_axes(ax)
結(jié)果順利展現(xiàn)!
四、繼續(xù)優(yōu)化
發(fā)現(xiàn)坐標軸的負數(shù)沒辦法顯示,新加兩行代碼:
import matplotlib
matplotlib.rcParams['axes.unicode_minus']=False
z軸的標簽沒有顯示出來,是尺寸不夠,需要加寬。
最終代碼如下:文章來源:http://www.zghlxwxcb.cn/news/detail-507719.html
from mpl_toolkits.mplot3d import Axes3D
import matplotlib
matplotlib.rcParams['axes.unicode_minus'] = False
x1 = np.linspace(X[:, 1].min(), X[:, 1].max(), 100)
x2 = np.linspace(X[:, 2].min(), X[:, 2].max(), 100)
x1, x2 = np.meshgrid(x1, x2)
f = final_theta[0, 0] + final_theta[0, 1] * x1 + final_theta[0, 2] * x2
fig = plt.figure(figsize = (10, 12))
ax = Axes3D(fig, auto_add_to_figure = False)
fig.add_axes(ax)
ax.plot_surface(x1, x2, f, rstride = 1, cstride = 1, label = 'prediction')
ax.scatter(X[:, 1], X[:, 2], y, c='black')
ax.set_zlabel('y')
ax.set_ylabel('X1')
ax.set_xlabel('X2')
plt.show()
文章來源地址http://www.zghlxwxcb.cn/news/detail-507719.html
到了這里,關(guān)于【Python】Axes3D繪圖在jupyter里顯示不出來的解決辦法的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!