matplotlib可視化之餅圖、三維圖


餅圖

import matplotlib.pyplot as plt

labels = 'Frogs', 'Hogs', 'Dogs', 'Logs'
sizes = [15, 30, 45, 10]

# 設置分離的距離,0表示不分離
explode = (0, 0.1, 0, 0) 

plt.pie(sizes, explode=explode, labels=labels, autopct='%1.1f%%', shadow=True, startangle=90)

# Equal aspect ratio 保證畫出的圖是正圓形
plt.axis('equal') 

plt.show()

三維圖

繪制三維散點圖

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

data = np.random.randint(0, 255, size=[30, 30, 30])

x, y, z = data[0], data[1], data[2]
ax = plt.subplot(111, projection='3d')  # 創建一個三維的繪圖工程
#  將數據點分成三部分畫, 在顏色上有區分度
ax.scatter(x[:1], y[:1], z[:1], c='y')  # 繪制數據點
ax.scatter(x[10:20], y[10:20], z[10:20], c='r')
ax.scatter(x[20:30], y[20:30], z[20:30], c='g')

ax.set_zlabel('Z')  # 坐標軸
ax.set_ylabel('Y')
ax.set_xlabel('X')
plt.show()

繪制三維平面圖

from matplotlib import pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D

fig = plt.figure()
ax = Axes3D(fig)
X = np.arange(-4, 4, 0.25)
Y = np.arange(-4, 4, 0.25)
X, Y = np.meshgrid(X, Y)
R = np.sqrt(X**2 + Y**2)
Z = np.sin(R)

# 具體函數方法可用 help(function) 查看,如:help(ax.plot_surface)
ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap='rainbow')

plt.show()

 

 

參考鏈接:掘金-Python繪制六種可視化圖表詳解


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM