import numpy as np
import matplotlib.pyplot as plt
fig = plt.figure(figsize=(9,9))
ax = fig.gca(projection='3d')
X = np.arange(-5, 5, 0.1)
Y = np.arange(-5, 5, 0.1)
X, Y = np.meshgrid(X, Y)
R = np.sqrt(X ** 2 + Y ** 2)
Z = np.sin(R)
surf = ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=plt.cm.winter)
ax.grid(False)#默認(rèn)True,風(fēng)格線。
ax.set_xticks([])#不顯示x坐標(biāo)軸
ax.set_yticks([])#不顯示y坐標(biāo)軸
ax.set_zticks([])#不顯示z坐標(biāo)軸
plt.axis('off')#關(guān)閉所有坐標(biāo)軸
plt.subplots_adjust(0, 0, 1, 1)
plt.savefig(f'沒(méi)有背景.png', transparent=True, bbox_inches='tight', pad_inches=0.0)
使用plt.savefig()保存圖像,其中參數(shù)transparent=True,這個(gè)設(shè)置會(huì)讓坐標(biāo)軸,以及圖像補(bǔ)丁(也就是alpha為0的位置)都變?yōu)橥该?;bbox_inches和pad_inches的設(shè)置是為了保存圖像時(shí)刪除圖像的白邊。
效果如下:
簡(jiǎn)單曲面:
import numpy as np
import matplotlib.pyplot as plt
fig = plt.figure(figsize=(9,9))
ax = fig.gca(projection='3d')
x1 = np.arange(0, 5, 0.1)
x2 = np.arange(5, -0.1, -0.1)
X = np.append(x1,x2)
y1 = np.arange(0, 5, 0.1)
y2 = np.arange(5, -0.1, -0.1)
Y = np.append(y1,y2)
X, Y = np.meshgrid(X, Y)
R = X ** 2 + Y ** 2
Z = R
surf = ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=plt.cm.winter)
ax.grid(False)#默認(rèn)True,風(fēng)格線。
ax.set_xticks([])#不顯示x坐標(biāo)軸
ax.set_yticks([])#不顯示y坐標(biāo)軸
ax.set_zticks([])#不顯示z坐標(biāo)軸
plt.axis('off')#關(guān)閉所有坐標(biāo)軸
plt.subplots_adjust(0, 0, 1, 1)
plt.savefig(f'沒(méi)有背景的.png', transparent=True, bbox_inches='tight', pad_inches=0.0)
凸面:
import numpy as np
import matplotlib.pyplot as plt
fig = plt.figure(figsize=(9,9))
ax = fig.gca(projection='3d')
X = np.arange(-5, 5, 0.1)
Y = np.arange(-5, 5, 0.1)
X, Y = np.meshgrid(X, Y)
# R = np.sqrt(X ** 2 + Y ** 2)
# Z = np.sin(R)
R = X ** 2 + Y ** 2
Z = 50 - R # 讓z等于R就是凹面
surf = ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=plt.cm.winter)
ax.grid(False)#默認(rèn)True,風(fēng)格線。
ax.set_xticks([])#不顯示x坐標(biāo)軸
ax.set_yticks([])#不顯示y坐標(biāo)軸
ax.set_zticks([])#不顯示z坐標(biāo)軸
plt.axis('off')#關(guān)閉所有坐標(biāo)軸
plt.subplots_adjust(0, 0, 1, 1)
plt.savefig(f'沒(méi)有背景的.png', transparent=True, bbox_inches='tight', pad_inches=0.0)
默認(rèn)凹面畫(huà)法:文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-756431.html
import numpy as np
import matplotlib.pyplot as plt
fig = plt.figure(figsize=(9,9))
ax = fig.gca(projection='3d')
x1 = np.arange(0, 5, 0.1)
x2 = np.arange(5, -0.1, -0.1)
X = np.append(x1,x2)
y1 = np.arange(0, 5, 0.1)
y2 = np.arange(5, -0.1, -0.1)
Y = np.append(y1,y2)
X, Y = np.meshgrid(X, Y)
R = X ** 2 + Y ** 2
Z = R
surf = ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=plt.cm.winter)
ax.grid(False)#默認(rèn)True,風(fēng)格線。
ax.set_xticks([])#不顯示x坐標(biāo)軸
ax.set_yticks([])#不顯示y坐標(biāo)軸
ax.set_zticks([])#不顯示z坐標(biāo)軸
# plt.axis('off')#關(guān)閉所有坐標(biāo)軸
plt.subplots_adjust(0, 0, 1, 1)
plt.savefig(f'沒(méi)有背景的.png', transparent=True, bbox_inches='tight', pad_inches=0.0)
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-756431.html
到了這里,關(guān)于使用python繪制3D圖,并保存沒(méi)有背景的png格式的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!