Python使用matplotlib繪制三維圖形示例
本文實例講述了Python使用matplotlib繪制三維圖形。分享給大家供大家參考,具體如下:
用二維泡泡圖表示三維數(shù)據(jù)
泡泡的坐標2維,泡泡的大小三維,使用到的函數(shù)
plt.scatter(P[:,0], P[:,1], s=S, lw = 1.5,
edgecolors = C, facecolors='None')
其中P[:,0], P[:,1]為泡泡的坐標數(shù)據(jù),s為泡泡的大小,lw為泡泡的邊線寬度,edgecolors為邊線顏色,facecolors為填充顏色
代碼及注釋
# -*- coding:utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt
fig = plt.figure(figsize=(9,6))
# 泡泡的數(shù)量
n = 50
size_min = 50
size_max = 50*50
# Ring position,rand可以產生2維數(shù)組
P = np.random.rand(n,2)
# Ring colors R,G,B,A
C = np.ones((n,4)) * (0,0,0,1)
# Alpha color channel goes from 0 (transparent) to 1 (opaque)
C[:,3] = np.linspace(0,1,n)
# Ring sizes
S = np.linspace(size_min, size_max, n)
# Scatter plot
plt.scatter(P[:,0], P[:,1], s=S, lw = 1.5,
edgecolors = C, facecolors='None')
#range只能排列出整數(shù),在排列小數(shù)時可以用到np.arange
plt.xlim(0,1), plt.xticks(np.arange(0,1.1,0.1))
plt.ylim(0,1), plt.yticks(np.arange(0,1.1,0.1))
plt.show()
運行結果:

三維螺旋線圖

需要導入三維工具mplot3d
from mpl_toolkits.mplot3d import Axes3D
導入了這個工具后才能在add_subplot時添加參數(shù)
projection='3d'
完整代碼及注釋
# -*- coding:utf-8 -*-
from mpl_toolkits.mplot3d import Axes3D
import numpy as np
import matplotlib.pyplot as plt
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei'] #防止中文亂碼
fig = plt.figure(figsize=(9,6))
#添加參數(shù)projection
ax = fig.add_subplot(111,projection='3d')
z = np.linspace(0, 6, 1000)
r = 1
x = r * np.sin(np.pi*2*z)
y = r * np.cos(np.pi*2*z)
#c是顏色
ax.plot(x, y, z, label=u'螺旋線', c='r')
ax.legend()
#存成圖片,支持png格式
# dpi每英寸長度的點數(shù),畫出的三維圖是矢量圖,可以設置保存的dpi
plt.savefig('3d_fig.png',dpi=200)
plt.show()
注:這里針對中文顯示問題做了處理,具體可以參考《Python使用matplotlib繪圖無法顯示中文問題的解決方法》。
參考網(wǎng)站:
https://matplotlib.org/mpl_toolkits/mplot3d/tutorial.html
https://matplotlib.org/gallery.html
更多關于Python相關內容感興趣的讀者可查看本站專題:《Python數(shù)學運算技巧總結》、《Python數(shù)據(jù)結構與算法教程》、《Python函數(shù)使用技巧總結》、《Python字符串操作技巧匯總》、《Python入門與進階經典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設計有所幫助。
相關文章
pytorch中的weight-initilzation用法
這篇文章主要介紹了pytorch中的weight-initilzation用法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06
進行數(shù)據(jù)處理的6個?Python?代碼塊分享
這篇文章主要介紹了進行數(shù)據(jù)處理6個Python代碼塊的分享,分享內容有選取有空值的行、快速替換列值、對列進行分區(qū)、將一列分為多列等內容,需要的朋友可以參考一下2022-04-04
python 函數(shù)中的內置函數(shù)及用法詳解
這篇文章主要介紹了python 函數(shù)中的內置函數(shù) 及用法,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-07-07
Flask實現(xiàn)swagger在線文檔與接口測試流程詳解
Flask是一個使用Python編寫的輕量級Web應用框架。其WSGI工具箱采用 Werkzeug,模板引擎則使用Jinja2。Flask使用 BSD 授權。Flask也被稱為“microframework”,因為它使用簡單的核心,用 extension 增加其他功能,本篇帶你用Flask實現(xiàn)swagger在線文檔與接口測試2022-07-07

