2023年6月20日 星期二

python繪圖前準備

 NumPy 安装

pip3 install --user numpy scipy matplotlib


補充安裝

pip install msvc-runtime


測試用程式碼

import numpy as np
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
# Dataset generation
a, b, c = 10., 28., 8. / 3.
def lorenz_map(x, dt = 1e-2):
    x_dt = np.array([a * (x[1] - x[0]), x[0] * (b - x[2]) - x[1], x[0] * x[1] - c * x[2]])
    return x + dt * x_dt
points = np.zeros((2000, 3))
x = np.array([.1, .0, .0])
for i in range(points.shape[0]):
    points[i], x = x, lorenz_map(x)
# Plotting
fig = plt.figure()
ax = fig.gca(projection = '3d')
ax.set_xlabel('X axis')
ax.set_ylabel('Y axis')
ax.set_zlabel('Z axis')
ax.set_title('Lorenz Attractor a=%0.2f b=%0.2f c=%0.2f' % (a, b, c))
ax.scatter(points[:, 0], points[:, 1],points[:, 2], zdir = 'z', c = 'c')
plt.show()


#程式碼修改
ax = fig.gca(projection = '3d') 改成
ax = fig.add_subplot(projection = '3d')

參考網址:

繪圖參數
plt.figure(figsize=(7,5))   # 顯示圖框架大小

plt.style.use("ggplot")     # 使用ggplot主題樣式
plt.xlabel("Number of cars", fontweight = "bold")                  #設定x座標標題及粗體
plt.ylabel("Number of passengers(million)", fontweight = "bold")   #設定y座標標題及粗體
plt.title("Scatter of Number of cars and Number of passengers(million)",
          fontsize = 15, fontweight = "bold")        #設定標題、字大小及粗體

plt.scatter(bus["number of cars"],                    # x軸資料
            bus["number of passengers(million)"],     # y軸資料
            c = "m",                                  # 點顏色
            s = 50,                                   # 點大小
            alpha = .5,                               # 透明度
            marker = "D")                             # 點樣式

plt.savefig("Scatter of Number of cars and Number of passengers(million).jpg")   #儲存圖檔
plt.close()      # 關閉圖表

參數說明
x必填,第一組數據 ( x 軸 )。
y必填,第二組數據 ( y 軸 )。
c資料點的顏色,支援陣列資料 ( 除了十六進位色碼,也可填入顏色代碼,例如 r、g、b、m、c、y...等,參考:color 列表 )。
s資料點的尺寸,預設和資料同大小,支援陣列資料。
marker資料點樣式,預設圓點 ( 資料點樣式代碼為 .、,、o、v...等,參考:markers 列表 )。
cmap顏色地圖,如果 c 為數據資料,會根據 c 的數據對應指定顏色 ( 參考:colormaps )。
vmin對照顏色地圖的最小值。
vmax對照顏色地圖的最大值。
alpha資料點透明度,預設 1,範圍 0 ( 完全透明 ) ~ 1 ( 完全不透明 )。
linewidths資料點外框粗細,預設無外框,支援陣列資料。
edgecolors資料點外框顏色,預設無外框,顏色設定等同 c。

沒有留言:

張貼留言