最終版本 - 完整程式碼區塊

載入所需的套件

請確保這些套件已經安裝 (install.packages(c(“googlesheets4”, “dplyr”, “tidyr”, “ggplot2”, “knitr”)))

library(googlesheets4) library(dplyr) library(tidyr) library(ggplot2) library(knitr) library(showtext) # 載入 showtext 套件 library(sysfonts) # 載入 sysfonts 套件

V 1.11 - showtext 用於字體處理 (指定 Windows 字體檔案路徑)

載入 showtext 和 sysfonts 套件

library(showtext) library(sysfonts)

添加您想使用的字體到 R 的字體資料庫

明确指定微軟正黑體字體檔案的路徑

請根據您電腦上字體檔案的實際路徑和檔案名進行調整

font_add( “Microsoft JhengHei”, # 在 R 中使用的字體家族名稱 (與 theme() 中一致) regular = “C:/Windows/Fonts/msjh.ttc”, # 微軟正黑體 標準字體檔案路徑 bold = “C:/Windows/Fonts/msjhbd.ttc” # 微軟正黑體 粗體字體檔案路徑 )

啟用 showtext 的自動處理功能

showtext_auto()

showtext_opts(dpi = 300) # 可選:設定 DPI,影響文字大小比例

在 showtext_auto() 之後,您在 ggplot 的 theme() 中設定 family = “Microsoft JhengHei” 應該就會生效了

設定您的 Google Sheets 分享連結和工作表名稱

請將以下連結和名稱替換成您的實際資訊 (如果您有其他工作表或連結的話)

sheet_url <- “https://docs.google.com/spreadsheets/d/1GkbTMO84splVGtIE2gOJaGcD7sPb0847MchUmyTTWJE/edit?pli=1&gid=623332197” # 您的 Google Sheets URL sheet_name <- “數據紀錄” # 您的工作表名稱

讀取 Google Sheets 資料 (範圍從 A 到 Y)

col_names = TRUE 表示第一行是欄位名稱

sheet_data_raw <- read_sheet( sheet_url, sheet = sheet_name, range = “A:Y”, # 設定讀取範圍從 A 欄到 Y 欄,確保包含所有庫別的週轉次數數據 col_names = TRUE )

V 1.9 - 生成圖表 (修改庫別顏色)

定義每個類別對應的顏色 (根據您的需求修改)

category_colors <- c( “總倉” = “grey”, # 修改:總倉 改為 灰色 “PT” = “pink”, # 修改:PT 改為 粉色 “PS” = “darkgreen”, # 修改:PS 改為 深綠色 “PH” = “orange”, # PH 維持橘色 “PK” = “blue” # PK 維持藍色 )

創建 ggplot 圖表對象 (其餘程式碼與 V 1.8 相同)

turnover_plot <- ggplot( sheet_data_selected, aes( x = 日期, # 使用 factor 型態的 日期 欄位實現等距排列 y = 週轉次數, color = 類別, # 顏色根據 ‘類別’ 欄位來設定 group = 類別 # 確保同一個類別的點連成一條線 ) ) + geom_line(size = 1.2) + geom_point(size = 4) + geom_text( aes(label = paste0(sprintf(“%.1f”, 週轉次數), ” 次”)), vjust = -1, size = 4, color = “white” # 標籤文字顏色在深色背景下為白色 ) + scale_y_continuous(limits = c(0, 5), breaks = seq(0, 5, by = 0.5)) +

# 手動設定每個類別的顏色,使用上面定義的 category_colors scale_color_manual(values = category_colors) +

# 設定圖表標題和軸標籤 labs( title = “庫存週轉次數分析”, x = ““, y =”週轉次數 (次)“, color =”類別” ) +

# 科技感風格主題設定 + 字體設定 (與 V 1.8 相同) theme( text = element_text(family = “微軟正黑體”),

panel.background = element_rect(fill = "#1a1a1a", colour = NA),
plot.background = element_rect(fill = "#1a1a1a", colour = NA),
panel.grid.major = element_line(colour = "#404040"),
panel.grid.minor = element_blank(),
axis.line = element_line(colour = "#cccccc"),
axis.ticks = element_line(colour = "#cccccc"),
axis.text = element_text(colour = "#cccccc", size = 10),
axis.title = element_text(colour = "#cccccc", size = 12, face = "bold"),
plot.title = element_text(colour = "#ffffff", size = 14, face = "bold", hjust = 0.5),
legend.background = element_rect(fill = "#1a1a1a", colour = NA),
legend.key = element_rect(fill = "#1a1a1a", colour = NA),
legend.text = element_text(colour = "#cccccc"),
legend.position = "top",
legend.justification = "right",
legend.direction = "horizontal",
legend.title = element_blank()

)

顯示圖表

print(turnover_plot)