你給老闆一堆數字,他只會覺得眼花

在上一章,我們成功利用爬蟲,把競爭對手的 1000 筆電競筆電價格全部抓了下來,並存成了一個超長的 Excel (CSV) 表格。 你興高采烈地把這個表格印出來,厚厚的一疊紙丟在老闆桌上:「老闆!你看!我把對手所有的底牌都摸清楚了!」

老闆隨便翻了兩頁,眉頭皺了起來:「這上面密密麻麻的數字,誰看得懂?你直接告訴我,對手主打的價格區間落在哪裡?哪一個品牌的筆電平均最貴?我們下個月的新品定價要訂多少才合理?」

這時候你就傻眼了。這就是所有資料科學家新手最常犯的錯:「以為擁有數據就擁有了答案」

人類的大腦天生不擅長處理成千上萬的純數字,但對於「圖像、顏色、長短」卻極度敏感。 如果你能把那 1000 筆雜亂的數字,變成一張精美的**「折線圖」、「長條圖」、「圓餅圖」**,老闆只需要看一眼,他就能立刻做出商業決策。

這項把冰冷數字變成商業故事的技術,就叫做 Data Visualization (資料視覺化)


Python 的畫筆雙雄:Matplotlib 與 Seaborn

在 Python 的資料科學領域中,有兩套最有名、也最強大的畫圖套件:

  1. Matplotlib:它是最老牌、最底層的畫筆。它可以畫出任何你能想像的圖表,但缺點是語法非常繁瑣,而且預設畫出來的圖,長得很像 1990 年代的骨董報表,非常醜。
  2. Seaborn:它是站在 Matplotlib 肩膀上的進階畫筆。它的特色是「用極簡的語法,畫出極具現代美感的圖表」。它內建了非常漂亮的商業色系與排版。

在 Vibe Coding 的實戰中,我們通常會「同時使用這兩個套件」。用 Seaborn 來負責主要的精美繪圖,用 Matplotlib 來微調圖表的標題與字體。


Vibe Prompt 實戰:一秒鐘產出精美商業圖表

我們現在要把剛剛爬下來的 laptops_price.csv 裡面的資料畫成一張長條圖,來比較各品牌的平均價格。

但是,這裡有一個巨大的坑! 如果你直接用 Python 畫圖,並在圖表上打上中文字(例如「華碩」、「微星」),你會發現畫出來的圖表上,所有中文字都變成了「一堆方塊 (豆腐塊)」!這是因為 Python 預設不認識微軟的中文黑體字。

為了解決這個問題,我們必須在 Vibe Prompt 中,加入一段專屬的「中文防禦咒語」。

【Python 視覺化圖表 Prompt】 我目前有一個名為 laptops_price.csv 的檔案。 裡面的欄位有:品牌 (例如:ASUS, MSI, Acer) 與 價格 (數字格式)。

請幫我寫一個 Python 腳本,完成以下任務:

  1. 使用 pandas 讀取這個檔案。
  2. 計算出「每一個品牌」的「平均價格」。
  3. 使用 seabornmatplotlib,畫出一張精美的「長條圖 (Bar Chart)」。X 軸是品牌,Y 軸是平均價格。請依照價格由高到低排序長條圖。
  4. 【重要防呆】:請務必在 matplotlib 的設定中,加上支援顯示中文字體的設定 (例如:使用 SimHeiMicrosoft JhengHei),並解決負號變方塊的問題。
  5. 畫完圖之後,將圖表儲存為 price_compare.png 檔案。

AI 產出的神級畫圖腳本:

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

# ==========================================
# 終極防禦:解決中文字體變成方塊的問題!
# Windows 系統通常用 'Microsoft JhengHei' (微軟正黑體)
# Mac 系統通常用 'Arial Unicode MS' 或 'PingFang HK'
plt.rcParams['font.sans-serif'] = ['Microsoft JhengHei'] 
plt.rcParams['axes.unicode_minus'] = False # 讓負號正常顯示
# ==========================================

def draw_price_chart():
    # 1. 讀取資料
    df = pd.read_csv('laptops_price.csv')
    
    # 2. 透過 pandas 分組計算平均價格,並由高到低排序
    avg_price_df = df.groupby('品牌')['價格'].mean().reset_index()
    avg_price_df = avg_price_df.sort_values(by='價格', ascending=False)

    # 3. 設定畫布大小與美觀的背景風格
    plt.figure(figsize=(10, 6))
    sns.set_theme(style="whitegrid", font="Microsoft JhengHei") # 套用 Seaborn 現代風格

    # 4. 開始畫長條圖!使用漂亮的漸層顏色庫 (palette='viridis')
    sns.barplot(
        x='品牌', 
        y='價格', 
        data=avg_price_df, 
        palette='viridis'
    )

    # 5. 加上專業的標題與說明文字
    plt.title('2024年 各品牌電競筆電平均價格分析', fontsize=18, fontweight='bold')
    plt.xlabel('筆電品牌', fontsize=12)
    plt.ylabel('平均價格 (新台幣)', fontsize=12)

    # 6. 把圖表存成圖片檔案
    plt.tight_layout() # 自動調整排版,避免文字被裁切
    plt.savefig('price_compare.png', dpi=300) # 存成高畫質圖片
    print("✅ 圖表已成功繪製並儲存為 price_compare.png!")

# 執行函式
draw_price_chart()

當你按下執行後,你的資料夾裡瞬間多出了一張超高畫質、帶有美麗漸層色彩、中文字體清晰的 price_compare.png。 你把這張圖表放到簡報裡遞給老闆。老闆一眼就看出:「原來微星 (MSI) 的平均單價是最高的,我們如果主打中階市場,應該把價格定在 Acer 跟 ASUS 之間。」

這就是資料科學的魔力。你用程式碼把冰冷的數字,變成了老闆腦中價值百萬的商業決策。

在下一章中,我們要把「爬蟲」加上「資料分析」加上「自動發信」全部串在一起,打造一個每天早上 8 點會自動發送「市場動態分析報表」給全公司的超級機器人!

解鎖完整教學內容

本章為付費內容。加入專案即可解鎖超過 5000 字的深度解析,包含 10 個以上神級 Prompt 與真實 Source Code 範例!