攝影或3C

Python 機器學習: 距離導向聚類法(k-Means 演算法), 如何繪製3D散佈圖? spyder無法用滑鼠改變3D圖的視角該如何處理? %matplotlib qt

k-Means 演算法:

k種聚類, k怎麼取?

https://pse.is/3x8g3y

測試資料:

chinese english math
100 86 91
30 55 45
50 75 42
62 85 93
98 100 99
71 53 56
60 60 51

 

import pandas as pd
import matplotlib.pyplot as plt

fpath = r”C:\Python\P107\doc\student_grades.csv”
df = pd.read_csv(fpath)
print(df)

lisChi = df[“chinese”].tolist()
lisEng = df[“english”].tolist()
lisMath= df[“math”].tolist()

fig = plt.figure()
ax = plt.axes( projection = “3d”)
#官網建議要放參數的話使用 plt.axes()
#或 plt.subplot(projection=”3d”)

ax.scatter(lisChi, lisEng, lisMath,
label = “students’ Grade distribution”,
color = “#ff00ff”, marker= “^”)

ax.set_xlabel(“Chinese”)
ax.set_ylabel(“English”)
ax.set_zlabel(“Math”)

for i in range(len(lisChi)):
    textLabel = “(%d,%d,%d)” \
    %(lisChi[i], lisEng[i], lisMath[i])
    ax.text(lisChi[i],lisEng[i],lisMath[i],
    s=textLabel)

ax.legend(loc=”best”)
plt.show()
“””
spyder內嵌的靜態圖片無法用滑鼠改變視角
console中輸入:
%matplotlib qt
再執行py檔,會生出可互動的獨立視窗
%matplotlib inline
切換回原本的內嵌模式
“””

print(df):

%matplotlib qt

可互動的3D散佈圖:

 

%matplotlib inline

內嵌無法互動的靜態3D散佈圖:

推薦hahow線上學習python: https://igrape.net/30afN

 

儲蓄保險王

儲蓄險是板主最喜愛的儲蓄工具,最喜愛的投資理財工具則是ETF,最喜愛的省錢工具則是信用卡