欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

python (matplotlib)畫三維圖像

系統 3036 0

關于三維圖像的內容很多博友已經寫了
推薦:三維繪圖,畫三維圖,3d圖-英文版
上面寫的都非常詳細,很推薦,特別是英文版那個,基于此,只給我寫的一個例子

三維圖

f ( x , y ) = x 2 + y 2 f(x,y)=x^2+y^2 f ( x , y ) = x 2 + y 2 的三維圖
python (matplotlib)畫三維圖像_第1張圖片

            
              
                import
              
               numpy 
              
                as
              
               np

              
                import
              
               matplotlib
              
                .
              
              pyplot 
              
                as
              
               plt

              
                from
              
               mpl_toolkits
              
                .
              
              mplot3d 
              
                import
              
               Axes3D

x 
              
                =
              
               np
              
                .
              
              arange
              
                (
              
              
                -
              
              
                10
              
              
                ,
              
              
                10
              
              
                ,
              
              
                0.2
              
              
                )
              
              
y 
              
                =
              
               np
              
                .
              
              arange
              
                (
              
              
                -
              
              
                10
              
              
                ,
              
              
                10
              
              
                ,
              
              
                0.2
              
              
                )
              
              
f_x_y
              
                =
              
              np
              
                .
              
              power
              
                (
              
              x
              
                ,
              
              
                2
              
              
                )
              
              
                +
              
              np
              
                .
              
              power
              
                (
              
              y
              
                ,
              
              
                2
              
              
                )
              
              
fig 
              
                =
              
               plt
              
                .
              
              figure
              
                (
              
              
                )
              
              
ax 
              
                =
              
               plt
              
                .
              
              gca
              
                (
              
              projection
              
                =
              
              
                '3d'
              
              
                )
              
              
ax
              
                .
              
              plot
              
                (
              
              x
              
                ,
              
              y
              
                ,
              
              f_x_y
              
                )
              
            
          

畫出2維不相關高斯分布的3維圖,即下面公式中n=2的情況
python (matplotlib)畫三維圖像_第2張圖片
python (matplotlib)畫三維圖像_第3張圖片

            
              
                import
              
               numpy 
              
                as
              
               np

              
                import
              
               matplotlib
              
                .
              
              pyplot 
              
                as
              
               plt

              
                import
              
               mpl_toolkits
              
                .
              
              axisartist 
              
                as
              
               axisartist

              
                from
              
               mpl_toolkits
              
                .
              
              mplot3d 
              
                import
              
               Axes3D 
              
                #畫三維圖不可少
              
              
                from
              
               matplotlib 
              
                import
              
               cm  
              
                #cm 是colormap的簡寫
              
              
                # 1_dimension gaussian function
              
              
                def
              
              
                gaussian
              
              
                (
              
              x
              
                ,
              
              mu
              
                ,
              
              sigma
              
                )
              
              
                :
              
              
    f_x 
              
                =
              
              
                1
              
              
                /
              
              
                (
              
              sigma
              
                *
              
              np
              
                .
              
              sqrt
              
                (
              
              
                2
              
              
                *
              
              np
              
                .
              
              pi
              
                )
              
              
                )
              
              
                *
              
              np
              
                .
              
              exp
              
                (
              
              
                -
              
              np
              
                .
              
              power
              
                (
              
              x
              
                -
              
              mu
              
                ,
              
              
                2
              
              
                .
              
              
                )
              
              
                /
              
              
                (
              
              
                2
              
              
                *
              
              np
              
                .
              
              power
              
                (
              
              sigma
              
                ,
              
              
                2
              
              
                .
              
              
                )
              
              
                )
              
              
                )
              
              
                return
              
              
                (
              
              f_x
              
                )
              
              
                # 2_dimension gaussian function
              
              
                def
              
              
                gaussian_2
              
              
                (
              
              x
              
                ,
              
              y
              
                ,
              
              mu_x
              
                ,
              
              mu_y
              
                ,
              
              sigma_x
              
                ,
              
              sigma_y
              
                )
              
              
                :
              
              
    f_x_y 
              
                =
              
              
                1
              
              
                /
              
              
                (
              
              sigma_x
              
                *
              
              sigma_y
              
                *
              
              
                (
              
              np
              
                .
              
              sqrt
              
                (
              
              
                2
              
              
                *
              
              np
              
                .
              
              pi
              
                )
              
              
                )
              
              
                **
              
              
                2
              
              
                )
              
              
                *
              
              np
              
                .
              
              exp
              
                (
              
              
                -
              
              np
              
                .
              
              power\
              
              
                (
              
              x
              
                -
              
              mu_x
              
                ,
              
              
                2
              
              
                .
              
              
                )
              
              
                /
              
              
                (
              
              
                2
              
              
                *
              
              np
              
                .
              
              power
              
                (
              
              sigma_x
              
                ,
              
              
                2
              
              
                .
              
              
                )
              
              
                )
              
              
                -
              
              np
              
                .
              
              power
              
                (
              
              y
              
                -
              
              mu_y
              
                ,
              
              
                2
              
              
                .
              
              
                )
              
              
                /
              
              \
              
              
                (
              
              
                2
              
              
                *
              
              np
              
                .
              
              power
              
                (
              
              sigma_y
              
                ,
              
              
                2
              
              
                .
              
              
                )
              
              
                )
              
              
                )
              
              
                return
              
              
                (
              
              f_x_y
              
                )
              
              
                #設置2維表格
              
              
x_values 
              
                =
              
               np
              
                .
              
              linspace
              
                (
              
              
                -
              
              
                5
              
              
                ,
              
              
                5
              
              
                ,
              
              
                2000
              
              
                )
              
              
y_values 
              
                =
              
               np
              
                .
              
              linspace
              
                (
              
              
                -
              
              
                5
              
              
                ,
              
              
                5
              
              
                ,
              
              
                2000
              
              
                )
              
              
X
              
                ,
              
              Y 
              
                =
              
               np
              
                .
              
              meshgrid
              
                (
              
              x_values
              
                ,
              
              y_values
              
                )
              
              
                #高斯函數
              
              
mu_x
              
                ,
              
              mu_y
              
                ,
              
              sigma_x
              
                ,
              
              sigma_y 
              
                =
              
              
                0
              
              
                ,
              
              
                0
              
              
                ,
              
              
                0.8
              
              
                ,
              
              
                0.8
              
              
F_x_y 
              
                =
              
               gaussian_2
              
                (
              
              X
              
                ,
              
              Y
              
                ,
              
              mu_x
              
                ,
              
              mu_y
              
                ,
              
              sigma_x
              
                ,
              
              sigma_y
              
                )
              
              
                #顯示三維圖
              
              
fig 
              
                =
              
               plt
              
                .
              
              figure
              
                (
              
              
                )
              
              
ax 
              
                =
              
               plt
              
                .
              
              gca
              
                (
              
              projection
              
                =
              
              
                '3d'
              
              
                )
              
              
ax
              
                .
              
              plot_surface
              
                (
              
              X
              
                ,
              
              Y
              
                ,
              
              F_x_y
              
                ,
              
              cmap
              
                =
              
              
                'jet'
              
              
                )
              
              
                # 顯示等高線圖
              
              
                #ax.contour3D(X,Y,F_x_y,50,cmap='jet')
              
            
          

三維等高線

將上面等高線打開,三維圖注釋掉

            
              
                #ax.plot_surface(X,Y,F_x_y,cmap='jet')
              
              
                # 顯示等高線圖
              
              
ax
              
                .
              
              contour3D
              
                (
              
              X
              
                ,
              
              Y
              
                ,
              
              F_x_y
              
                ,
              
              
                50
              
              
                ,
              
              cmap
              
                =
              
              
                'jet'
              
              
                )
              
            
          

python (matplotlib)畫三維圖像_第4張圖片

2維等高線

將上面的圖截取截面就是2維平面,是一個個圓形
python (matplotlib)畫三維圖像_第5張圖片

            
              
                import
              
               numpy 
              
                as
              
               np

              
                import
              
               matplotlib
              
                .
              
              pyplot 
              
                as
              
               plt

              
                import
              
               mpl_toolkits
              
                .
              
              axisartist 
              
                as
              
               axisartist

              
                from
              
               mpl_toolkits
              
                .
              
              mplot3d 
              
                import
              
               Axes3D 
              
                #畫三維圖不可少
              
              
                from
              
               matplotlib 
              
                import
              
               cm  
              
                #cm 是colormap的簡寫
              
              
                #定義坐標軸函數
              
              
                def
              
              
                setup_axes
              
              
                (
              
              fig
              
                ,
              
               rect
              
                )
              
              
                :
              
              
    ax 
              
                =
              
               axisartist
              
                .
              
              Subplot
              
                (
              
              fig
              
                ,
              
               rect
              
                )
              
              
    fig
              
                .
              
              add_axes
              
                (
              
              ax
              
                )
              
              

    ax
              
                .
              
              set_ylim
              
                (
              
              
                -
              
              
                4
              
              
                ,
              
              
                4
              
              
                )
              
              
                #自定義刻度
              
              
                #    ax.set_yticks([-10, 0,9])
              
              
    ax
              
                .
              
              set_xlim
              
                (
              
              
                -
              
              
                4
              
              
                ,
              
              
                4
              
              
                )
              
              
    ax
              
                .
              
              axis
              
                [
              
              
                :
              
              
                ]
              
              
                .
              
              set_visible
              
                (
              
              
                False
              
              
                )
              
              
                #第2條線,即y軸,經過x=0的點
              
              
    ax
              
                .
              
              axis
              
                [
              
              
                "y"
              
              
                ]
              
              
                =
              
               ax
              
                .
              
              new_floating_axis
              
                (
              
              
                1
              
              
                ,
              
              
                0
              
              
                )
              
              
    ax
              
                .
              
              axis
              
                [
              
              
                "y"
              
              
                ]
              
              
                .
              
              set_axisline_style
              
                (
              
              
                "-|>"
              
              
                ,
              
               size
              
                =
              
              
                1.5
              
              
                )
              
              
                #    第一條線,x軸,經過y=0的點
              
              
    ax
              
                .
              
              axis
              
                [
              
              
                "x"
              
              
                ]
              
              
                =
              
               ax
              
                .
              
              new_floating_axis
              
                (
              
              
                0
              
              
                ,
              
              
                0
              
              
                )
              
              
    ax
              
                .
              
              axis
              
                [
              
              
                "x"
              
              
                ]
              
              
                .
              
              set_axisline_style
              
                (
              
              
                "-|>"
              
              
                ,
              
               size
              
                =
              
              
                1.5
              
              
                )
              
              
                return
              
              
                (
              
              ax
              
                )
              
              
                # 1_dimension gaussian function
              
              
                def
              
              
                gaussian
              
              
                (
              
              x
              
                ,
              
              mu
              
                ,
              
              sigma
              
                )
              
              
                :
              
              
    f_x 
              
                =
              
              
                1
              
              
                /
              
              
                (
              
              sigma
              
                *
              
              np
              
                .
              
              sqrt
              
                (
              
              
                2
              
              
                *
              
              np
              
                .
              
              pi
              
                )
              
              
                )
              
              
                *
              
              np
              
                .
              
              exp
              
                (
              
              
                -
              
              np
              
                .
              
              power
              
                (
              
              x
              
                -
              
              mu
              
                ,
              
              
                2
              
              
                .
              
              
                )
              
              
                /
              
              
                (
              
              
                2
              
              
                *
              
              np
              
                .
              
              power
              
                (
              
              sigma
              
                ,
              
              
                2
              
              
                .
              
              
                )
              
              
                )
              
              
                )
              
              
                return
              
              
                (
              
              f_x
              
                )
              
              
                # 2_dimension gaussian function
              
              
                def
              
              
                gaussian_2
              
              
                (
              
              x
              
                ,
              
              y
              
                ,
              
              mu_x
              
                ,
              
              mu_y
              
                ,
              
              sigma_x
              
                ,
              
              sigma_y
              
                )
              
              
                :
              
              
    f_x_y 
              
                =
              
              
                1
              
              
                /
              
              
                (
              
              sigma_x
              
                *
              
              sigma_y
              
                *
              
              
                (
              
              np
              
                .
              
              sqrt
              
                (
              
              
                2
              
              
                *
              
              np
              
                .
              
              pi
              
                )
              
              
                )
              
              
                **
              
              
                2
              
              
                )
              
              
                *
              
              np
              
                .
              
              exp
              
                (
              
              
                -
              
              np
              
                .
              
              power\
              
              
                (
              
              x
              
                -
              
              mu_x
              
                ,
              
              
                2
              
              
                .
              
              
                )
              
              
                /
              
              
                (
              
              
                2
              
              
                *
              
              np
              
                .
              
              power
              
                (
              
              sigma_x
              
                ,
              
              
                2
              
              
                .
              
              
                )
              
              
                )
              
              
                -
              
              np
              
                .
              
              power
              
                (
              
              y
              
                -
              
              mu_y
              
                ,
              
              
                2
              
              
                .
              
              
                )
              
              
                /
              
              \
              
              
                (
              
              
                2
              
              
                *
              
              np
              
                .
              
              power
              
                (
              
              sigma_y
              
                ,
              
              
                2
              
              
                .
              
              
                )
              
              
                )
              
              
                )
              
              
                return
              
              
                (
              
              f_x_y
              
                )
              
              
                #設置畫布
              
              
fig 
              
                =
              
               plt
              
                .
              
              figure
              
                (
              
              figsize
              
                =
              
              
                (
              
              
                8
              
              
                ,
              
              
                8
              
              
                )
              
              
                )
              
              
                #建議可以直接plt.figure()不定義大小
              
              
ax1 
              
                =
              
               setup_axes
              
                (
              
              fig
              
                ,
              
              
                111
              
              
                )
              
              
ax1
              
                .
              
              axis
              
                [
              
              
                "x"
              
              
                ]
              
              
                .
              
              set_axis_direction
              
                (
              
              
                "bottom"
              
              
                )
              
              
ax1
              
                .
              
              axis
              
                [
              
              
                'y'
              
              
                ]
              
              
                .
              
              set_axis_direction
              
                (
              
              
                'right'
              
              
                )
              
              
                #在已經定義好的畫布上加入高斯函數
              
              
x_values 
              
                =
              
               np
              
                .
              
              linspace
              
                (
              
              
                -
              
              
                5
              
              
                ,
              
              
                5
              
              
                ,
              
              
                2000
              
              
                )
              
              
y_values 
              
                =
              
               np
              
                .
              
              linspace
              
                (
              
              
                -
              
              
                5
              
              
                ,
              
              
                5
              
              
                ,
              
              
                2000
              
              
                )
              
              
X
              
                ,
              
              Y 
              
                =
              
               np
              
                .
              
              meshgrid
              
                (
              
              x_values
              
                ,
              
              y_values
              
                )
              
              
mu_x
              
                ,
              
              mu_y
              
                ,
              
              sigma_x
              
                ,
              
              sigma_y 
              
                =
              
              
                0
              
              
                ,
              
              
                0
              
              
                ,
              
              
                0.8
              
              
                ,
              
              
                0.8
              
              
F_x_y 
              
                =
              
               gaussian_2
              
                (
              
              X
              
                ,
              
              Y
              
                ,
              
              mu_x
              
                ,
              
              mu_y
              
                ,
              
              sigma_x
              
                ,
              
              sigma_y
              
                )
              
              
                #顯示三維圖
              
              
                #fig = plt.figure()
              
              
                #ax = plt.gca(projection='3d')
              
              
                #ax.plot_surface(X,Y,F_x_y,cmap='jet')
              
              
                # 顯示3d等高線圖
              
              
                #ax.contour3D(X,Y,F_x_y,50,cmap='jet')
              
              
                # 顯示2d等高線圖,畫8條線
              
              
plt
              
                .
              
              contour
              
                (
              
              X
              
                ,
              
              Y
              
                ,
              
              F_x_y
              
                ,
              
              
                8
              
              
                )
              
            
          

更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 日韩手机在线观看 | 日韩午夜三级 | 东京不太热在线新视频 | 国产99久久精品一区二区 | 超级97碰碰碰碰久久久久最新 | 成人免费午夜性视频 | 偷拍自拍视频网 | 亚洲欧美18v中文字幕高清 | 美女求操 | 日韩 亚洲 欧美 中文 高清 | 91麻豆精品国产91久久久久久 | 国产精品一区二区三区久久久 | 欧美日韩一区二区三区在线观看 | 一区二区影院 | 青娱乐国产精品 | 亚洲 欧美 日韩 在线 | 凛子小姐想试试 | 精品亚洲一区二区三区四区五区 | 日本视频网 | 性欧美一级毛片在线播放 | 9久热这里只有精品视频在线观看 | 一区二区在线免费观看 | 国内精品久久毛片一区二区 | 一区二区三区福利视频 | 成人亚洲一区 | 伦理一区| 亚洲韩精品欧美一区二区三区 | 国产综合av | 国产精品成人一区二区 | 久久高清| 亚洲激情视频 | 国产a做爰全过程片 | 天天操天天插天天干 | 亚洲欧美v视色一区二区 | 综合久久久久综合 | 午夜你懂得 | 久久com | 国产成人综合网 | 午夜精品老牛av一区二区三区 | 国产美女自卫慰视频福利 | 欧美二级毛片免费高清电影 |