最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python繪制三維立體圖詳解與繪圖填充方式

 更新時間:2024年02月04日 09:20:29   作者:MqtGhj  
這篇文章主要介紹了Python繪制三維立體圖詳解與繪圖填充方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

利用Python繪制三維圖

目標(biāo):

繪制圖像 z^2 = x^2 + y^2 + x/3 + y/3

1.第一步我們先導(dǎo)入畫圖所需要的包

import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D # 用于繪制3D圖案

2.畫曲面的第一步是就是

要創(chuàng)建一個二維平面的網(wǎng)格,我們先創(chuàng)建這個二維平面的x軸和y軸,范圍在-1到1之間分為100份

x = np.linspace(-1,1,100)
y = np.linspace(-1,1,100)

再調(diào)用numpy中的meshgrid函數(shù),進(jìn)行網(wǎng)格化操作

x_,y_ = np.meshgrid(x,y,indexing='ij') 

3.繪制圖形

  • plt.figure():自定義圖像
  • plt.add_subplot():添加子圖(下面完整代碼中的111的含義是創(chuàng)建一個一行一列的子圖表格,最后一個1表示第一個子圖)
  • plt.plot_surface():繪制曲面,plt.colorbar():添加顏色棒

顯示的函數(shù)為:

z_ = x_**2 + y_**2 + x_ / 3 + y_ / 3

4.完整代碼

import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D #繪制3D圖案
 
x = np.linspace(-1,1,100)
y = np.linspace(-1,1,100)
x_, y_ = np.meshgrid(x,y,indexing='ij')
z_ = x_**2 + y_**2 + x_ / 3 + y_ / 3  # 畫圖所要表現(xiàn)出來的主函數(shù)
fig = plt.figure(figsize=(10, 10), facecolor='white') #創(chuàng)建圖片
sub = fig.add_subplot(111, projection='3d')# 添加子圖,
surf = sub.plot_surface(x_, y_, z_, cmap=plt.cm.brg) #繪制曲面,cmap=plt.cm.brg并設(shè)置顏色cmap
cb = fig.colorbar(surf, shrink=0.8, aspect=15) #設(shè)置顏色棒
 
sub.set_xlabel(r"x axis")
sub.set_ylabel(r"y axis")
sub.set_zlabel(r"z axis")
plt.show()

運行結(jié)果如下:

外例

import numpy as np
import matplotlib.pyplot as plt
fig,ax = plt.subplots()
#配置中文顯示
plt.rcParams['font.family'] = ['SimHei']      #用來顯示中文標(biāo)簽
plt.rcParams['axes.unicode_minus'] = False   #用來正常顯示符號
def f(t):
    return np.cos(2*np.pi*t)
x1 = np.arange(0.0,4.0,0.5)  # 畫出定點圖
x2 = np.arange(0.0,4.0,0.01)
plt.figure(1)
plt.subplot(1,2,1)
plt.plot(x1,f(x1),'bo',x2,f(x2),'k')
plt.title('子圖1')
plt.subplot(1,2,2)
plt.plot(x2,f(x2),'r--')
plt.title('子圖2')
plt.show()

import matplotlib.pyplot as plt
import numpy as np
import matplotlib.cm as cm#matplotlib內(nèi)置的顏色地圖
from mpl_toolkits.mplot3d import Axes3D#引入3d繪圖模塊
X = np.arange(-8, 8, 0.25)
Y = np.arange(-8, 8, 0.25)
X, Y = np.meshgrid(X, Y)#生成網(wǎng)格點矩陣,就是對X,Y進(jìn)行網(wǎng)格化
R = np.sqrt(X**2 + Y**2 + X + Y)#X**2代表X的二次方
Z = np.sin(R)
fig = plt.figure()#Figure(640x480)   生成畫布
ax = Axes3D(fig)#和上一步一起構(gòu)建一個3d畫布
ax.plot_surface(X, Y, Z, rstride=1#行跨(x)為1
                , cstride=1        #列跨(y)為1
                , cmap=cm.viridis  #設(shè)置顏色
                )#構(gòu)造3D圖像
ax.contourf(X,Y,Z,#傳入數(shù)據(jù)
            zdir='z'#設(shè)置為z軸為等高線的不變軸
            ,offset=-1#映射位置在z=-1處
            ,cmap=plt.get_cmap('rainbow')#設(shè)置顏色為彩虹色
            )#繪制圖像的映射,就是等高線圖。
plt.xlabel('x_axis')
plt.ylabel('y_axis')
plt.show()

 

import matplotlib.pyplot as plt#引入matplotlib的pyplot模塊
import numpy as np
a=np.arange(0.0,5.0,0.01)#構(gòu)造一個0起始,5結(jié)束,0.01為間隔的numpy數(shù)組
b=5*np.cos(a*np.pi*2)#其中的np.pi是圓周率
plt.plot(a,b,'r-',label='first')#將a作為x軸,b作為y軸,ro-中的r代表紅色,0代表實心點標(biāo)識,-代表實線,構(gòu)造一條名為first的曲線。
#plt.xlabel('x_axis')
plt.xlabel('時間',fontproperties='SimHei',fontsize=20)#如果名字中有中文的話一定要用fontproperties='SimHei屬性,否則會報錯
#plt.ylabel('y_axis')
plt.title('正弦波',fontproperties='SimHei',fontsize=20)#設(shè)置標(biāo)題
plt.xlim((0,5))
plt.ylim((-5,5))
plt.legend(loc='lower right')#注釋的位置
plt.grid(True)#添加網(wǎng)格,flase就是不添加
plt.show()#如果先show,之后保存的就是一張空白的圖
 

 

繪圖的填充 

調(diào)用函數(shù)fill_between()實現(xiàn)曲線下面部分的填充

import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0,1,500)
y = np.sin(3*np.pi*x)*np.exp(-4*x)
fig,ax = plt.subplots()
plt.plot(x,y)
plt.fill_between(x,0,y,facecolor = 'green',alpha = 0.3)
# plt.fill_between(x[15:300],0,0.4,facecolor = 'green',alpha = 0.3) 
# 調(diào)整參數(shù)可在部分區(qū)間內(nèi)填充
plt.show()

兩條曲線之間的區(qū)域填充 

import numpy as np
import matplotlib.pyplot as plt
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0,1,500)
y1 = np.sin(3*np.pi*x)*np.exp(-4*x) + x
y2 = y1 + 0.2
plt.plot(x,y1,'b')
plt.plot(x,y2,'r')
plt.fill_between(x,y1,y2,facecolor = 'green',alpha = 0.5)
plt.show()

直接使用fill進(jìn)行繪圖的填充

import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0,1,500)
y = np.sin(3*np.pi*x)*np.exp(-4*x) + 2*x
fig,ax = plt.subplots()
ax.fill(x,y)
plt.show()

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python多繼承以及MRO順序的使用

    Python多繼承以及MRO順序的使用

    這篇文章主要介紹了Python多繼承以及MRO順序的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • python分分鐘繪制精美地圖海報

    python分分鐘繪制精美地圖海報

    基于Python中諸如matplotlib等功能豐富、自由度極高的繪圖庫,我們可以完成各種極富藝術(shù)感的可視化作品,關(guān)于這一點我在系列文章在模仿中精進(jìn)數(shù)據(jù)可視化中已經(jīng)帶大家學(xué)習(xí)過很多案例了
    2022-02-02
  • Pycharm連接遠(yuǎn)端Python環(huán)境操作Spark過程

    Pycharm連接遠(yuǎn)端Python環(huán)境操作Spark過程

    遠(yuǎn)程連接方案通過SSH配置PyCharm連接CentOS服務(wù)器,統(tǒng)一環(huán)境避免差異,自動同步代碼至遠(yuǎn)程工作目錄,并映射pyspark等工具包,提升開發(fā)效率與一致性
    2025-07-07
  • python中rb含義理解

    python中rb含義理解

    在本篇文章里小編給大家整理的是關(guān)于python中rb含義及用法內(nèi)容,需要的朋友們可以學(xué)習(xí)下。
    2020-06-06
  • python GUI編程(Tkinter) 創(chuàng)建子窗口及在窗口上用圖片繪圖實例

    python GUI編程(Tkinter) 創(chuàng)建子窗口及在窗口上用圖片繪圖實例

    這篇文章主要介紹了python GUI編程(Tkinter) 創(chuàng)建子窗口及在窗口上用圖片繪圖實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • Python入門教程(四十一)Python的NumPy數(shù)組索引

    Python入門教程(四十一)Python的NumPy數(shù)組索引

    這篇文章主要介紹了Python入門教程(四十一)Python的NumPy數(shù)組索引,數(shù)組索引是指使用方括號([])來索引數(shù)組值,numpy提供了比常規(guī)的python序列更多的索引工具,除了按整數(shù)和切片索引之外,數(shù)組可以由整數(shù)數(shù)組索引、布爾索引及花式索引,需要的朋友可以參考下
    2023-05-05
  • IPython庫中的display函數(shù)的簡介、使用方法、應(yīng)用案例詳細(xì)攻略

    IPython庫中的display函數(shù)的簡介、使用方法、應(yīng)用案例詳細(xì)攻略

    display 函數(shù)可以接受一個或多個參數(shù),每個參數(shù)都是一個 Python 對象。它會自動根據(jù)對象的類型選擇合適的顯示方式,并在 Jupyter Notebook 中顯示出來,這篇文章主要介紹了IPython庫中的display函數(shù)的簡介、使用方法、應(yīng)用案例詳細(xì)攻略,需要的朋友可以參考下
    2023-04-04
  • Python分割列表list方法使用(平均n等份拆成)

    Python分割列表list方法使用(平均n等份拆成)

    本文主要介紹了Python分割列表list方法使用(平均n等份拆成),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • Python導(dǎo)出并分析聊天記錄詳解流程

    Python導(dǎo)出并分析聊天記錄詳解流程

    這篇文章主要介紹了Python將QQ聊天記錄生成詞云的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-02-02
  • Python代碼塊及緩存機制原理詳解

    Python代碼塊及緩存機制原理詳解

    這篇文章主要介紹了Python代碼塊及緩存機制原理詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-12-12

最新評論

双江| 南乐县| 南昌市| 宣化县| 南京市| 顺昌县| 秀山| 卢氏县| 青冈县| 天等县| 杭锦旗| 元阳县| 东方市| 县级市| 金阳县| 彰化县| 沙坪坝区| 灌云县| 乌拉特前旗| 德庆县| 工布江达县| 崇仁县| 仙游县| 龙口市| 阿尔山市| 梅河口市| 上林县| 大方县| 登封市| 皋兰县| 中西区| 鹤壁市| 图片| 黄大仙区| 台北县| 远安县| 高邮市| 红原县| 民县| 泰来县| 明溪县|