python 理解Matplotlib 3D (三维图) 绘图函数 plot_surface 的 rstride 和 cstride参数
生活随笔
收集整理的這篇文章主要介紹了
python 理解Matplotlib 3D (三维图) 绘图函数 plot_surface 的 rstride 和 cstride参数
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
-
總而言之, rstride 和 cstride是用來控制行平滑程度和列平滑程度的參數(shù).
-
其值最小為1, 最大可以無窮大, 但如果超過了X或Y的默認(rèn)柵格數(shù)后, 將對(duì)圖像無影響.
-
當(dāng)rstride 和 cstride的值為1時(shí), 圖像不會(huì)變化, 增加rstride 和 cstride的值, 會(huì)減少三維圖像的平滑程度, 當(dāng)其等于X或Y的默認(rèn)柵格數(shù)時(shí), 就變成一個(gè)單色面
-
例如, 圖像的X和Y默認(rèn)柵格數(shù)為[4-(-4)]/0.25=40時(shí):
-
當(dāng)rstride=cstride=1, 圖像為:
-
當(dāng)rstride=cstride=4, 圖像為:
-
當(dāng)rstride=cstride=40, 圖像為:
-
當(dāng)rstride=cstride=80, 圖像為(可以看出相較rstride=cstride=40, 圖像并未發(fā)生變化):
-
參考代碼:
-- coding: utf-8 --
# author: inspurer(月小水長(zhǎng)) # pc_type lenovo # create_date: 2019/1/23 # file_name: 3DTest # github https://github.com/inspurer # qq_mail 2391527690@qq.com# -*- coding: utf-8 -*- """ 繪制3d圖形 """import matplotlib.pyplot as plt import numpy as np from mpl_toolkits.mplot3d import Axes3D # 定義figure fig = plt.figure() # 創(chuàng)建3d圖形的兩種方式 # 將figure變?yōu)?d ax = Axes3D(fig)#ax = fig.add_subplot(111, projection='3d')# 定義x, y x = np.arange(-4, 4, 0.25) y = np.arange(-4, 4, 0.25)# 生成網(wǎng)格數(shù)據(jù) X, Y = np.meshgrid(x, y)# 計(jì)算每個(gè)點(diǎn)對(duì)的長(zhǎng)度 R = np.sqrt(X ** 2 + Y ** 2) # 計(jì)算Z軸的高度 Z = np.sin(R)# 繪制3D曲面# rstride:行之間的跨度 cstride:列之間的跨度 # rcount:設(shè)置間隔個(gè)數(shù),默認(rèn)50個(gè),ccount:列的間隔個(gè)數(shù) 不能與上面兩個(gè)參數(shù)同時(shí)出現(xiàn)# cmap是顏色映射表 # from matplotlib import cm # ax.plot_surface(X, Y, Z, rstride = 1, cstride = 1, cmap = cm.coolwarm) # cmap = "rainbow" 亦可 # 我的理解的 改變cmap參數(shù)可以控制三維曲面的顏色組合, 一般我們見到的三維曲面就是 rainbow 的 # 你也可以修改 rainbow 為 coolwarm, 驗(yàn)證我的結(jié)論 ax.plot_surface(X, Y, Z, rstride = 1, cstride = 1, cmap = plt.get_cmap('rainbow'))# 繪制從3D曲面到底部的投影,zdir 可選 'z'|'x'|'y'| 分別表示投影到z,x,y平面 # zdir = 'z', offset = -2 表示投影到z = -2上 ax.contour(X, Y, Z, zdir = 'z', offset = -2, cmap = plt.get_cmap('rainbow'))# 設(shè)置z軸的維度,x,y類似 ax.set_zlim(-2, 2)plt.show()引用文章
https://blog.csdn.net/ygdxt/article/details/86618606
總結(jié)
以上是生活随笔為你收集整理的python 理解Matplotlib 3D (三维图) 绘图函数 plot_surface 的 rstride 和 cstride参数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python matplotlib.fi
- 下一篇: Yolo-v2 Visual Studi