問題描述
??今天在使用matplotlib繪3D圖像時(shí),運(yùn)行圖像內(nèi)容竟然顯示為空:
# 第1章/studyMatplotlib/3D圖像.py
import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
# 用來正常顯示中文標(biāo)簽
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
fig = plt.figure()
ax = Axes3D(fig)
X = np.arange(-1, 1, 0.01)
Y = np.arange(-1, 1, 0.01)
x1 = X.copy()
y1 = Y.copy()
X, Y = np.meshgrid(X, Y)
Z = (X ** 2 + Y ** 2 - (2 * X * Y)) # (x-y)**2
# 3d圖像數(shù)據(jù)需要x,y,z 3個(gè)坐標(biāo)
# rstride 數(shù)組行距(步長(zhǎng)大?。?/span>
# cstride 數(shù)組列距(步長(zhǎng)大?。?/span>
# color 曲面塊顏色映射
ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap='rainbow')
plt.show()
# plt.savefig('3d_2圖像')
??運(yùn)行結(jié)果:
原因分析:
??很奇怪的是在另一個(gè)conda環(huán)境沒有問題,因此我對(duì)比了兩個(gè)環(huán)境中matplotlib的版本。
?? matplotlib 3.6.2不能夠顯示3D圖像
?? matplotlib 3.4.3能夠顯示3D圖像
??正常結(jié)果:
??`因此,可以確定是由于版本變化導(dǎo)致使用的方法有變化。
解決方案:
- 使用conda install matplotlib=3.4.3解決
- 后來查詢將代碼改為以下也可以解決
# ax = Axes3D(fig) # 原代碼
ax = fig.add_axes(Axes3D(fig)) # 新代碼
jiaV = "qwentest123"
# 3.使用三引號(hào)。
hotSrh = """
1學(xué)測(cè)試開發(fā)只要60天
2學(xué)BI數(shù)據(jù)開發(fā)只要30天
3學(xué)人工智能只要60天
4以上全是零基礎(chǔ)
5中科院博士把關(guān)!"""
總結(jié)
-
以上代碼示例部分來自我寫的《Python軟件測(cè)試實(shí)戰(zhàn)寶典》 的內(nèi)容,有興趣,行動(dòng)起來立馬入手一本(各平臺(tái)均有)。文章來源:http://www.zghlxwxcb.cn/news/detail-538701.html
-
挑戰(zhàn)零基礎(chǔ)60天,入行軟件測(cè)試、BI數(shù)據(jù)分析、人工智能請(qǐng)找“智谷一川,qwentest123” 。
文章來源地址http://www.zghlxwxcb.cn/news/detail-538701.html
到了這里,關(guān)于“matplotlib使用Axes3D繪3D圖像時(shí),沒有內(nèi)容”的解決方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!