{"id":4279,"date":"2025-12-08T11:14:29","date_gmt":"2025-12-08T03:14:29","guid":{"rendered":"https:\/\/international.hartamas.com\/ch\/?p=4279"},"modified":"2025-12-08T11:15:11","modified_gmt":"2025-12-08T03:15:11","slug":"the-best-5-cities-to-relocate-to-in-malaysia","status":"publish","type":"post","link":"https:\/\/international.hartamas.com\/ch\/the-best-5-cities-to-relocate-to-in-malaysia\/","title":{"rendered":"\u79fb\u5c45\u5927\u99ac\u7684\u6700\u4f73\u4e94\u500b\u843d\u8173\u9ede"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"4279\" class=\"elementor elementor-4279\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3d7841c e-con-full e-flex e-con e-parent\" data-id=\"3d7841c\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-bb1e5ff elementor-widget elementor-widget-html\" data-id=\"bb1e5ff\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!DOCTYPE html>\r\n<html lang=\"zh-Hant\">\r\n<head>\r\n    <meta charset=\"UTF-8\">\r\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n    <title>\u79fb\u5c45\u5927\u99ac\u7684\u6700\u4f73\u4e94\u500b\u843d\u8173\u9ede<\/title>\r\n    \r\n    <!-- Load Tailwind CSS -->\r\n    <script src=\"https:\/\/cdn.tailwindcss.com\"><\/script>\r\n    \r\n    <!-- Load Chart.js -->\r\n    <script src=\"https:\/\/cdn.jsdelivr.net\/npm\/chart.js\"><\/script>\r\n    \r\n    <!-- Load Plotly.js -->\r\n    <script src=\"https:\/\/cdn.plot.ly\/plotly-2.27.0.min.js\"><\/script>\r\n\r\n    <!-- Font: Noto Sans TC for Traditional Chinese -->\r\n    <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Noto+Sans+TC:wght@300;400;700&display=swap\" rel=\"stylesheet\">\r\n\r\n    <!-- Embedded CSS for specific constraints -->\r\n    <style>\r\n        body {\r\n            font-family: 'Noto Sans TC', sans-serif;\r\n            background-color: #f0f9ff; \/* Lightest Blue background *\/\r\n            color: #1e293b; \/* Slate 800 *\/\r\n        }\r\n\r\n        \/* MANDATORY CHART CONTAINER STYLING \r\n           Adhering to strict height and width controls\r\n        *\/\r\n        .chart-container {\r\n            position: relative;\r\n            width: 100%;\r\n            max-width: 800px; \/* Limit width on large screens *\/\r\n            margin-left: auto;\r\n            margin-right: auto;\r\n            height: 40vh;      \/* Base responsive height *\/\r\n            min-height: 300px;\r\n            max-height: 500px; \/* Cap the height *\/\r\n            background-color: white;\r\n            border-radius: 0.75rem;\r\n            padding: 1rem;\r\n            box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);\r\n        }\r\n\r\n        @media (min-width: 768px) {\r\n            .chart-container {\r\n                height: 450px;\r\n            }\r\n        }\r\n\r\n        \/* Custom Scrollbar for a polished look *\/\r\n        ::-webkit-scrollbar {\r\n            width: 8px;\r\n        }\r\n        ::-webkit-scrollbar-track {\r\n            background: #f1f1f1; \r\n        }\r\n        ::-webkit-scrollbar-thumb {\r\n            background: #0ea5e9; \r\n            border-radius: 4px;\r\n        }\r\n        ::-webkit-scrollbar-thumb:hover {\r\n            background: #0284c7; \r\n        }\r\n\r\n        \/* Utility for Diagram Nodes (No SVG\/Mermaid) *\/\r\n        .flow-node {\r\n            transition: transform 0.2s;\r\n        }\r\n        .flow-node:hover {\r\n            transform: translateY(-5px);\r\n        }\r\n        img {display:inline-block;}\r\n.page-title{display:none;}\r\n    <\/style>\r\n\r\n    <!-- \r\n        Palette Selected: \"Energetic & Playful\" (Vibrant Teal, Orange, Blue)\r\n        Primary: #0ea5e9 (Sky 500)\r\n        Secondary: #f97316 (Orange 500)\r\n        Dark: #0f172a (Slate 900)\r\n        Light: #ffffff\r\n    -->\r\n<\/head>\r\n<body class=\"bg-slate-50\">\r\n    <!-- Hero Section -->\r\n    <header class=\"bg-gradient-to-r from-sky-600 to-cyan-500 text-white py-20\">\r\n        <div class=\"max-w-7xl mx-auto px-4 text-center\">\r\n            <!-- REVISED HEADLINE HERE -->\r\n            <h1 class=\"text-4xl md:text-6xl font-bold mb-6 drop-shadow-md\">\u79fb\u5c45\u5927\u99ac\u7684\u6700\u4f73\u4e94\u500b\u843d\u8173\u9ede<\/h1>\r\n            <p class=\"text-xl md:text-2xl font-light max-w-3xl mx-auto text-sky-100\">\r\n                \u99ac\u4f86\u897f\u4e9e\u6191\u85c9\u4f4e\u5ec9\u7684\u751f\u6d3b\u6210\u672c\u3001\u512a\u8cea\u7684\u91ab\u7642\u670d\u52d9\u8207\u591a\u5143\u7684\u6587\u5316\uff0c\u6210\u70ba\u5168\u7403\u6700\u4f73\u9000\u4f11\u8207\u79fb\u5c45\u5730\u4e4b\u4e00\u3002\u6211\u5011\u904b\u7528\u6578\u64da\u5206\u6790\uff0c\u70ba\u60a8\u89e3\u6790\u5409\u9686\u5761\u3001\u6ab3\u57ce\u3001\u65b0\u5c71\u3001\u4e9e\u5e87\u8207\u99ac\u516d\u7532\u7684\u5b9c\u5c45\u6307\u6578\u3002\r\n            <\/p>\r\n            <div class=\"mt-8 flex justify-center space-x-4\">\r\n                <div class=\"bg-white\/20 backdrop-blur rounded-lg p-4\">\r\n                    <p class=\"text-3xl font-bold\">#1<\/p>\r\n                    <p class=\"text-sm\">\u6771\u5357\u4e9e\u6700\u4f73\u91ab\u7642<\/p>\r\n                <\/div>\r\n                <div class=\"bg-white\/20 backdrop-blur rounded-lg p-4\">\r\n                    <p class=\"text-3xl font-bold\">Top 5<\/p>\r\n                    <p class=\"text-sm\">\u5168\u7403\u6700\u4f73\u9000\u4f11\u5730<\/p>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/header>\r\n\r\n    <!-- Main Content Container -->\r\n    <main class=\"max-w-7xl mx-auto px-4 py-12 space-y-20\">\r\n\r\n        <!-- Section 1: Comprehensive Livability Analysis (Radar Chart) -->\r\n        <section id=\"overview\" class=\"grid grid-cols-1 lg:grid-cols-12 gap-8 items-center\">\r\n            <div class=\"lg:col-span-5 space-y-6\">\r\n                <h2 class=\"text-3xl font-bold text-slate-800 border-l-4 border-orange-500 pl-4\">\r\n                    \u4e94\u57ce\u7d9c\u5408\u5b9c\u5c45\u6307\u6578\u5c0d\u6bd4\r\n                <\/h2>\r\n                <!-- Asterisks removed from the paragraph below -->\r\n                <p class=\"text-slate-600 leading-relaxed text-lg\">\r\n                    \u6211\u5011\u6839\u64da\u4e94\u500b\u95dc\u9375\u7dad\u5ea6\u5c0d\u99ac\u4f86\u897f\u4e9e\u6700\u71b1\u9580\u7684\u4e94\u500b\u79fb\u5c45\u57ce\u5e02\u9032\u884c\u4e86\u8a55\u5206\uff1a\u751f\u6d3b\u6210\u672c\uff08\u8d8a\u4f4e\u5206\u8d8a\u9ad8\uff09\u3001\u91ab\u7642\u8a2d\u65bd\u3001\u570b\u969b\u9023\u901a\u6027\uff08\u6a5f\u5834\/\u4ea4\u901a\uff09\u3001\u83ef\u8a9e\u666e\u53ca\u5ea6\u4ee5\u53ca\u5a1b\u6a02\u8207\u751f\u6d3b\u65b9\u5f0f\u3002\r\n                <\/p>\r\n                <ul class=\"space-y-3\">\r\n                    <li class=\"flex items-center\">\r\n                        <span class=\"w-3 h-3 bg-sky-500 rounded-full mr-3\"><\/span>\r\n                        <span class=\"font-semibold text-slate-700\">\u5409\u9686\u5761 (KL):<\/span> \u7d9c\u5408\u5f97\u5206\u6700\u9ad8\uff0c\u9069\u5408\u8ffd\u6c42\u90fd\u5e02\u751f\u6d3b\u8207\u9802\u7d1a\u91ab\u7642\u7684\u4eba\u58eb\u3002\r\n                    <\/li>\r\n                    <li class=\"flex items-center\">\r\n                        <span class=\"w-3 h-3 bg-orange-500 rounded-full mr-3\"><\/span>\r\n                        <span class=\"font-semibold text-slate-700\">\u6ab3\u57ce (Penang):<\/span> \u83ef\u8a9e\u74b0\u5883\u6700\u4f73\uff0c\u7f8e\u98df\u8207\u6d77\u6ff1\u751f\u6d3b\u7684\u5b8c\u7f8e\u5e73\u8861\u3002\r\n                    <\/li>\r\n                    <li class=\"flex items-center\">\r\n                        <span class=\"w-3 h-3 bg-teal-500 rounded-full mr-3\"><\/span>\r\n                        <span class=\"font-semibold text-slate-700\">\u4e9e\u5e87 (Kota Kinabalu):<\/span> \u81ea\u7136\u611b\u597d\u8005\u7684\u9996\u9078\uff0c\u7a7a\u6c23\u8cea\u91cf\u6700\u4f73\uff0c\u7bc0\u594f\u7de9\u6162\u3002\r\n                    <\/li>\r\n                <\/ul>\r\n                <div class=\"bg-orange-50 border-l-4 border-orange-500 p-4 mt-4\">\r\n                    <p class=\"text-sm text-orange-800 font-semibold\">\ud83d\udca1 \u6578\u64da\u6d1e\u5bdf\uff1a<\/p>\r\n                    <p class=\"text-sm text-orange-700\">\u6ab3\u57ce\u5728\u300c\u83ef\u8a9e\u666e\u53ca\u5ea6\u300d\u8207\u300c\u91ab\u7642\u300d\u65b9\u9762\u8868\u73fe\u7a81\u51fa\uff0c\u662f\u9000\u4f11\u65cf\u7fa4\u7684\u9996\u9078\uff1b\u800c\u5409\u9686\u5761\u5728\u300c\u9023\u901a\u6027\u300d\u8207\u300c\u5a1b\u6a02\u300d\u65b9\u9762\u7121\u4eba\u80fd\u6575\u3002<\/p>\r\n                <\/div>\r\n            <\/div>\r\n            <div class=\"lg:col-span-7\">\r\n                <div class=\"chart-container\">\r\n                    <canvas id=\"radarChart\"><\/canvas>\r\n                <\/div>\r\n                <p class=\"text-center text-xs text-slate-400 mt-2\">\u6578\u64da\u4f86\u6e90\uff1a\u7d9c\u5408 Numbeo 2024 \u6578\u64da\u8207\u7576\u5730\u5916\u7c4d\u4eba\u58eb\u8abf\u67e5<\/p>\r\n            <\/div>\r\n        <\/section>\r\n\r\n        <!-- Section 2: Financial Analysis (Stacked Bar Chart) -->\r\n        <section id=\"cost\" class=\"bg-white rounded-2xl shadow-xl p-8 border border-slate-100\">\r\n            <div class=\"mb-8 text-center\">\r\n                <h2 class=\"text-3xl font-bold text-slate-800 inline-block border-b-4 border-sky-500 pb-2\">\r\n                    \u751f\u6d3b\u6210\u672c\u6df1\u5ea6\u89e3\u6790 (\u6708\u5ea6)\r\n                <\/h2>\r\n                <p class=\"text-slate-600 mt-4 max-w-3xl mx-auto\">\r\n                    \u79fb\u5c45\u4e0d\u50c5\u662f\u70ba\u4e86\u751f\u6d3b\u54c1\u8cea\uff0c\u66f4\u662f\u70ba\u4e86\u8ca1\u52d9\u81ea\u7531\u3002\u4e0b\u8868\u5c55\u793a\u4e86\u55ae\u4eba\u8207\u5bb6\u5ead\u5728\u4e3b\u8981\u57ce\u5e02\u7684\u9810\u4f30\u6708\u5ea6\u958b\u92b7\uff08\u4ee5\u99ac\u5e63 MYR \u8a08\u7b97\uff09\u3002\u5409\u9686\u5761\u96d6\u7136\u662f\u9996\u90fd\uff0c\u4f46\u76f8\u6bd4\u65b0\u52a0\u5761\u6216\u9999\u6e2f\uff0c\u5176\u6027\u50f9\u6bd4\u4f9d\u7136\u6975\u9ad8\u3002\r\n                <\/p>\r\n            <\/div>\r\n\r\n            <div class=\"grid grid-cols-1 lg:grid-cols-3 gap-8\">\r\n                <!-- Data Commentary Card -->\r\n                <div class=\"bg-slate-50 p-6 rounded-xl border border-slate-200 lg:col-span-1 flex flex-col justify-center\">\r\n                    <h3 class=\"text-xl font-bold text-sky-600 mb-4\">\u95dc\u9375\u8ca1\u52d9\u6578\u64da<\/h3>\r\n                    <div class=\"space-y-6\">\r\n                        <div>\r\n                            <p class=\"text-sm text-slate-500 uppercase tracking-wide\">\u6700\u5be6\u60e0\u57ce\u5e02<\/p>\r\n                            <p class=\"text-2xl font-bold text-slate-800\">\u99ac\u516d\u7532 (Melaka)<\/p>\r\n                            <p class=\"text-sm text-green-600\">\u6bd4\u5409\u9686\u5761\u4fbf\u5b9c\u7d04 25%<\/p>\r\n                        <\/div>\r\n                        <div>\r\n                            <p class=\"text-sm text-slate-500 uppercase tracking-wide\">\u4e3b\u8981\u652f\u51fa\u9805\u76ee<\/p>\r\n                            <p class=\"text-2xl font-bold text-slate-800\">\u623f\u79df (Rent)<\/p>\r\n                            <p class=\"text-sm text-slate-600\">\u4f54\u7e3d\u652f\u51fa\u7684 35%-45%<\/p>\r\n                        <\/div>\r\n                        <div class=\"pt-4 border-t border-slate-200\">\r\n                            <p class=\"text-xs text-slate-400\">\u8a3b\uff1a\u6578\u64da\u57fa\u65bc\u4e2d\u7b49\u8212\u9069\u751f\u6d3b\u6a19\u6e96\uff0c\u5305\u542b\u5e02\u4e2d\u5fc3\u516c\u5bd3\u79df\u91d1\u3001\u65e5\u5e38\u9910\u98f2\u8207\u6c34\u96fb\u7db2\u8cbb\u3002<\/p>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <!-- Chart Area -->\r\n                <div class=\"lg:col-span-2\">\r\n                    <div class=\"chart-container\">\r\n                        <canvas id=\"costBarChart\"><\/canvas>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/section>\r\n\r\n        <!-- Section 3: Real Estate Market (Scatter\/Bubble Plot - Plotly) -->\r\n        <section id=\"real-estate\" class=\"grid grid-cols-1 gap-8\">\r\n            <div class=\"text-left\">\r\n                <h2 class=\"text-3xl font-bold text-slate-800\">\u623f\u5730\u7522\u5e02\u5834\uff1a\u79df\u91d1\u8207\u7a7a\u9593\u7684\u6b0a\u8861<\/h2>\r\n                <p class=\"text-slate-600 mt-2\">\r\n                    \u6b64\u6c23\u6ce1\u5716\u5c55\u793a\u4e86\u5404\u57ce\u5e02\u7684\u5e73\u5747\u79df\u91d1\uff08X\u8ef8\uff09\u8207\u5e73\u5747\u5c45\u4f4f\u9762\u7a4d\uff08Y\u8ef8\uff09\u3002<br>\r\n                    <span class=\"text-orange-500 font-bold\">\u6c23\u6ce1\u5927\u5c0f<\/span> \u4ee3\u8868\u8a72\u5340\u57df\u7684\u5916\u7c4d\u4eba\u58eb\u793e\u5340\u5bc6\u96c6\u5ea6\u3002\r\n                <\/p>\r\n            <\/div>\r\n            \r\n            <div class=\"w-full bg-white rounded-xl shadow-lg p-4 border border-slate-200\">\r\n                 <!-- Plotly Canvas Wrapper -->\r\n                 <div id=\"plotlyBubbleChart\" class=\"w-full h-[500px]\"><\/div>\r\n            <\/div>\r\n            \r\n            <div class=\"grid grid-cols-1 md:grid-cols-3 gap-4\">\r\n                <div class=\"p-4 bg-sky-50 rounded-lg border-l-4 border-sky-500\">\r\n                    <h4 class=\"font-bold text-sky-800\">\u9ad8\u6027\u50f9\u6bd4<\/h4>\r\n                    <p class=\"text-sm text-sky-700\">\u99ac\u516d\u7532\u8207\u4e9e\u5e87\u63d0\u4f9b\u66f4\u4f4e\u7684\u79df\u91d1\u63db\u53d6\u66f4\u5927\u7684\u5c45\u4f4f\u7a7a\u9593\uff0c\u9069\u5408\u559c\u6b61\u5bec\u655e\u74b0\u5883\u7684\u5bb6\u5ead\u3002<\/p>\r\n                <\/div>\r\n                <div class=\"p-4 bg-orange-50 rounded-lg border-l-4 border-orange-500\">\r\n                    <h4 class=\"font-bold text-orange-800\">\u9ad8\u5bc6\u5ea6\u793e\u5340<\/h4>\r\n                    <p class=\"text-sm text-orange-700\">\u5409\u9686\u5761\uff08\u5c24\u5176\u662f Mont Kiara \u5340\uff09\u79df\u91d1\u8f03\u9ad8\uff0c\u4f46\u64c1\u6709\u6700\u6210\u719f\u3001\u6700\u9f90\u5927\u7684\u5916\u7c4d\u793e\u4ea4\u5708\u3002<\/p>\r\n                <\/div>\r\n                <div class=\"p-4 bg-teal-50 rounded-lg border-l-4 border-teal-500\">\r\n                    <h4 class=\"font-bold text-teal-800\">\u6295\u8cc7\u6f5b\u529b<\/h4>\r\n                    <p class=\"text-sm text-teal-700\">\u65b0\u5c71\uff08Johor Bahru\uff09\u56e0\u9760\u8fd1\u65b0\u52a0\u5761\uff0c\u623f\u7522\u5177\u6709\u7368\u7279\u7684\u96d9\u908a\u7d93\u6fdf\u6548\u61c9\u3002<\/p>\r\n                <\/div>\r\n            <\/div>\r\n        <\/section>\r\n\r\n        <!-- Section 4: City Profiles (Cards Layout) -->\r\n        <section id=\"cities\" class=\"space-y-8\">\r\n            <h2 class=\"text-3xl font-bold text-center text-slate-800\">\u4e94\u5927\u843d\u8173\u9ede\u7279\u8272\u901f\u89bd<\/h2>\r\n            \r\n            <div class=\"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6\">\r\n                <!-- KL Card -->\r\n                <div class=\"bg-white rounded-xl shadow-lg hover:shadow-2xl transition-shadow duration-300 overflow-hidden border-t-4 border-blue-600\">\r\n                    <div class=\"p-6\">\r\n\t\t\t\t\t\t<div class=\"mb-4\">\r\n\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/international.hartamas.com\/ch\/wp-content\/uploads\/2025\/12\/kuala-lumpur.jpg\">\r\n\t\t\t\t\t\t<\/div>\r\n                        <div class=\"flex justify-between items-center mb-4\">\t\t\t\t\t\t\t\r\n                            <h3 class=\"text-2xl font-bold text-slate-800\">\u5409\u9686\u5761 (KL)<\/h3>                            \r\n                        <\/div>\r\n                        <p class=\"text-slate-600 text-sm mb-4\">\u570b\u969b\u5927\u90fd\u6703\uff0c\u8cfc\u7269\u5929\u5802\uff0c\u64c1\u6709\u4e16\u754c\u7d1a\u7684\u91ab\u7642\u8207\u6559\u80b2\u8cc7\u6e90\u3002\u751f\u6d3b\u7bc0\u594f\u5feb\uff0c\u4ea4\u901a\u4fbf\u5229\u3002<\/p>\r\n                        <div class=\"space-y-2\">\r\n                            <div class=\"flex items-center text-sm\"><span class=\"w-20 font-bold text-slate-500\">\u9069\u5408\u4eba\u7fa4:<\/span> <span class=\"bg-blue-100 text-blue-800 px-2 py-0.5 rounded text-xs\">\u8077\u5834\u4eba\u58eb<\/span> <span class=\"bg-blue-100 text-blue-800 px-2 py-0.5 rounded text-xs ml-1\">\u9ad8\u6de8\u503c\u5bb6\u5ead<\/span><\/div>\r\n                            <div class=\"flex items-center text-sm\"><span class=\"w-20 font-bold text-slate-500\">\u6c23\u5019:<\/span> \u71b1\u5e36\u96e8\u6797\uff0c\u5e38\u5e74\u708e\u71b1\u591a\u96e8<\/div>\r\n                        <\/div>\r\n                        <div class=\"mt-4 pt-4 border-t border-slate-100 grid grid-cols-2 gap-2 text-center\">\r\n                            <div class=\"bg-slate-50 p-2 rounded\">\r\n                                <p class=\"text-xs text-slate-400\">\u5e73\u5747\u79df\u91d1<\/p>\r\n                                <p class=\"font-bold text-slate-700\">RM 3,500+<\/p>\r\n                            <\/div>\r\n                            <div class=\"bg-slate-50 p-2 rounded\">\r\n                                <p class=\"text-xs text-slate-400\">\u83ef\u8a9e\u74b0\u5883<\/p>\r\n                                <p class=\"font-bold text-slate-700\">\u2b50\u2b50\u2b50\u2b50<\/p>\r\n                            <\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <!-- Penang Card -->\r\n                <div class=\"bg-white rounded-xl shadow-lg hover:shadow-2xl transition-shadow duration-300 overflow-hidden border-t-4 border-orange-500\">\r\n                    <div class=\"p-6\">\r\n                        <div class=\"mb-4\">\r\n\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/international.hartamas.com\/ch\/wp-content\/uploads\/2025\/12\/penang.jpg\">\r\n\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t<div class=\"flex justify-between items-center mb-4\">\r\n                            <h3 class=\"text-2xl font-bold text-slate-800\">\u6ab3\u57ce (Penang)<\/h3>\r\n                        <\/div>\r\n                        <p class=\"text-slate-600 text-sm mb-4\">\u88ab\u8b7d\u70ba\u300c\u6771\u65b9\u4e4b\u73e0\u300d\uff0c\u4e3b\u8981\u7531\u83ef\u4eba\u7d44\u6210\uff0c\u798f\u5efa\u8a71\u901a\u7528\u3002\u64c1\u6709\u806f\u5408\u570b\u907a\u7522\u5340\u8207\u7f8e\u9e97\u6d77\u7058\u3002<\/p>\r\n                        <div class=\"space-y-2\">\r\n                            <div class=\"flex items-center text-sm\"><span class=\"w-20 font-bold text-slate-500\">\u9069\u5408\u4eba\u7fa4:<\/span> <span class=\"bg-orange-100 text-orange-800 px-2 py-0.5 rounded text-xs\">\u9000\u4f11\u990a\u8001<\/span> <span class=\"bg-orange-100 text-orange-800 px-2 py-0.5 rounded text-xs ml-1\">\u7f8e\u98df\u5bb6<\/span><\/div>\r\n                            <div class=\"flex items-center text-sm\"><span class=\"w-20 font-bold text-slate-500\">\u6c23\u5019:<\/span> \u6d77\u5cf6\u6c23\u5019\uff0c\u6d77\u98a8\u8abf\u7bc0<\/div>\r\n                        <\/div>\r\n                        <div class=\"mt-4 pt-4 border-t border-slate-100 grid grid-cols-2 gap-2 text-center\">\r\n                            <div class=\"bg-slate-50 p-2 rounded\">\r\n                                <p class=\"text-xs text-slate-400\">\u5e73\u5747\u79df\u91d1<\/p>\r\n                                <p class=\"font-bold text-slate-700\">RM 2,200+<\/p>\r\n                            <\/div>\r\n                            <div class=\"bg-slate-50 p-2 rounded\">\r\n                                <p class=\"text-xs text-slate-400\">\u83ef\u8a9e\u74b0\u5883<\/p>\r\n                                <p class=\"font-bold text-slate-700\">\u2b50\u2b50\u2b50\u2b50\u2b50<\/p>\r\n                            <\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <!-- JB Card -->\r\n                <div class=\"bg-white rounded-xl shadow-lg hover:shadow-2xl transition-shadow duration-300 overflow-hidden border-t-4 border-indigo-600\">\r\n                    <div class=\"p-6\">\r\n                        <div class=\"mb-4\">\r\n\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/international.hartamas.com\/ch\/wp-content\/uploads\/2025\/12\/johor-bahru.jpg\">\r\n\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t<div class=\"flex justify-between items-center mb-4\">\r\n                            <h3 class=\"text-2xl font-bold text-slate-800\">\u65b0\u5c71 (Johor Bahru)<\/h3>\r\n                        <\/div>\r\n                        <p class=\"text-slate-600 text-sm mb-4\">\u7dca\u9130\u65b0\u52a0\u5761\uff0c\u9069\u5408\u9700\u8981\u983b\u7e41\u5f80\u8fd4\u65b0\u99ac\u5169\u5730\u7684\u4eba\u58eb\u3002\u623f\u7522\u9078\u64c7\u591a\uff0c\u767c\u5c55\u8fc5\u901f\u3002<\/p>\r\n                        <div class=\"space-y-2\">\r\n                            <div class=\"flex items-center text-sm\"><span class=\"w-20 font-bold text-slate-500\">\u9069\u5408\u4eba\u7fa4:<\/span> <span class=\"bg-indigo-100 text-indigo-800 px-2 py-0.5 rounded text-xs\">\u8de8\u5883\u5de5\u4f5c\u8005<\/span> <span class=\"bg-indigo-100 text-indigo-800 px-2 py-0.5 rounded text-xs ml-1\">\u6295\u8cc7\u5ba2<\/span><\/div>\r\n                            <div class=\"flex items-center text-sm\"><span class=\"w-20 font-bold text-slate-500\">\u6c23\u5019:<\/span> \u985e\u4f3c\u65b0\u52a0\u5761\uff0c\u96e8\u91cf\u5145\u6c9b<\/div>\r\n                        <\/div>\r\n                        <div class=\"mt-4 pt-4 border-t border-slate-100 grid grid-cols-2 gap-2 text-center\">\r\n                            <div class=\"bg-slate-50 p-2 rounded\">\r\n                                <p class=\"text-xs text-slate-400\">\u5e73\u5747\u79df\u91d1<\/p>\r\n                                <p class=\"font-bold text-slate-700\">RM 2,000+<\/p>\r\n                            <\/div>\r\n                            <div class=\"bg-slate-50 p-2 rounded\">\r\n                                <p class=\"text-xs text-slate-400\">\u83ef\u8a9e\u74b0\u5883<\/p>\r\n                                <p class=\"font-bold text-slate-700\">\u2b50\u2b50\u2b50\u2b50<\/p>\r\n                            <\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <!-- KK Card -->\r\n                <div class=\"bg-white rounded-xl shadow-lg hover:shadow-2xl transition-shadow duration-300 overflow-hidden border-t-4 border-green-500\">\r\n                    <div class=\"p-6\">\r\n                        <div class=\"mb-4\">\r\n\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/international.hartamas.com\/ch\/wp-content\/uploads\/2025\/12\/kota-kinabalu.jpg\">\r\n\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t<div class=\"flex justify-between items-center mb-4\">\r\n                            <h3 class=\"text-2xl font-bold text-slate-800\">\u4e9e\u5e87 (Kota Kinabalu)<\/h3>\r\n                        <\/div>\r\n                        <p class=\"text-slate-600 text-sm mb-4\">\u4f4d\u65bc\u6771\u99ac\u6c99\u5df4\u5dde\uff0c\u64c1\u62b1\u5927\u6d77\u8207\u795e\u5c71\u3002\u751f\u6d3b\u7bc0\u594f\u6975\u6162\uff0c\u7a7a\u6c23\u6e05\u65b0\uff0c\u6d77\u9bae\u5ec9\u50f9\u3002<\/p>\r\n                        <div class=\"space-y-2\">\r\n                            <div class=\"flex items-center text-sm\"><span class=\"w-20 font-bold text-slate-500\">\u9069\u5408\u4eba\u7fa4:<\/span> <span class=\"bg-green-100 text-green-800 px-2 py-0.5 rounded text-xs\">\u81ea\u7136\u611b\u597d\u8005<\/span> <span class=\"bg-green-100 text-green-800 px-2 py-0.5 rounded text-xs ml-1\">\u6f5b\u6c34\u611b\u597d\u8005<\/span><\/div>\r\n                            <div class=\"flex items-center text-sm\"><span class=\"w-20 font-bold text-slate-500\">\u6c23\u5019:<\/span> \u53d7\u98b1\u98a8\u5f71\u97ff\u6975\u5c0f\uff0c\u8212\u9069<\/div>\r\n                        <\/div>\r\n                        <div class=\"mt-4 pt-4 border-t border-slate-100 grid grid-cols-2 gap-2 text-center\">\r\n                            <div class=\"bg-slate-50 p-2 rounded\">\r\n                                <p class=\"text-xs text-slate-400\">\u5e73\u5747\u79df\u91d1<\/p>\r\n                                <p class=\"font-bold text-slate-700\">RM 1,800+<\/p>\r\n                            <\/div>\r\n                            <div class=\"bg-slate-50 p-2 rounded\">\r\n                                <p class=\"text-xs text-slate-400\">\u83ef\u8a9e\u74b0\u5883<\/p>\r\n                                <p class=\"font-bold text-slate-700\">\u2b50\u2b50\u2b50<\/p>\r\n                            <\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <!-- Malacca Card -->\r\n                <div class=\"bg-white rounded-xl shadow-lg hover:shadow-2xl transition-shadow duration-300 overflow-hidden border-t-4 border-red-500\">\r\n                    <div class=\"p-6\">\r\n                        <div class=\"mb-4\">\r\n\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/international.hartamas.com\/ch\/wp-content\/uploads\/2025\/12\/melaka.jpg\">\r\n\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t<div class=\"flex justify-between items-center mb-4\">\r\n                            <h3 class=\"text-2xl font-bold text-slate-800\">\u99ac\u516d\u7532 (Melaka)<\/h3>\r\n                        <\/div>\r\n                        <p class=\"text-slate-600 text-sm mb-4\">\u6b77\u53f2\u5e95\u860a\u6df1\u539a\uff0c\u751f\u6d3b\u5b89\u9038\u5be7\u975c\u3002\u904a\u5ba2\u96d6\u591a\uff0c\u4f46\u5c45\u4f4f\u5340\u975e\u5e38\u5b89\u975c\uff0c\u7269\u50f9\u6975\u4f4e\u3002<\/p>\r\n                        <div class=\"space-y-2\">\r\n                            <div class=\"flex items-center text-sm\"><span class=\"w-20 font-bold text-slate-500\">\u9069\u5408\u4eba\u7fa4:<\/span> <span class=\"bg-red-100 text-red-800 px-2 py-0.5 rounded text-xs\">\u5b89\u975c\u990a\u8001<\/span> <span class=\"bg-red-100 text-red-800 px-2 py-0.5 rounded text-xs ml-1\">\u6b77\u53f2\u8ff7<\/span><\/div>\r\n                            <div class=\"flex items-center text-sm\"><span class=\"w-20 font-bold text-slate-500\">\u6c23\u5019:<\/span> \u8f03\u4e7e\u71e5\uff0c\u5348\u5f8c\u8f03\u71b1<\/div>\r\n                        <\/div>\r\n                        <div class=\"mt-4 pt-4 border-t border-slate-100 grid grid-cols-2 gap-2 text-center\">\r\n                            <div class=\"bg-slate-50 p-2 rounded\">\r\n                                <p class=\"text-xs text-slate-400\">\u5e73\u5747\u79df\u91d1<\/p>\r\n                                <p class=\"font-bold text-slate-700\">RM 1,500+<\/p>\r\n                            <\/div>\r\n                            <div class=\"bg-slate-50 p-2 rounded\">\r\n                                <p class=\"text-xs text-slate-400\">\u83ef\u8a9e\u74b0\u5883<\/p>\r\n                                <p class=\"font-bold text-slate-700\">\u2b50\u2b50\u2b50\u2b50<\/p>\r\n                            <\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/section>\r\n\r\n        <!-- Section 5: Migration Process (HTML\/CSS Diagram - NO MERMAID) -->\r\n        <section id=\"process\" class=\"py-12 border-b border-slate-200\">\r\n            <h2 class=\"text-3xl font-bold text-center text-slate-800 mb-10\">\u5f9e\u6c7a\u7b56\u5230\u5b9a\u5c45\uff1a\u6a19\u6e96\u6d41\u7a0b\u53c3\u8003<\/h2>\r\n            \r\n            <div class=\"max-w-5xl mx-auto overflow-x-auto pb-4\">\r\n                <div class=\"flex md:grid md:grid-cols-4 gap-4 min-w-[800px] md:min-w-0\">\r\n                    \r\n                    <!-- Step 1 -->\r\n                    <div class=\"flow-node relative bg-white p-6 rounded-lg shadow-md border-t-8 border-sky-500 flex flex-col items-center text-center\">\r\n                        <div class=\"bg-sky-100 text-sky-600 w-12 h-12 rounded-full flex items-center justify-center text-xl font-bold mb-4\">1<\/div>\r\n                        <h4 class=\"font-bold text-lg mb-2\">\u8003\u5bdf\u8207\u7c3d\u8b49<\/h4>\r\n                        <p class=\"text-sm text-slate-500\">\u65c5\u904a\u8003\u5bdf\u5404\u57ce\u5e02\uff0c\u9078\u64c7\u9069\u5408\u7684\u7c3d\u8b49\uff08MM2H, \u5de5\u4f5c\u7c3d, \u6578\u5b57\u904a\u7267\u7c3d\uff09\u3002<\/p>\r\n                        <!-- Arrow for desktop -->\r\n                        <div class=\"hidden md:block absolute top-1\/2 -right-6 transform -translate-y-1\/2 text-slate-300 text-2xl\">\u2794<\/div>\r\n                    <\/div>\r\n\r\n                    <!-- Step 2 -->\r\n                    <div class=\"flow-node relative bg-white p-6 rounded-lg shadow-md border-t-8 border-orange-500 flex flex-col items-center text-center\">\r\n                        <div class=\"bg-orange-100 text-orange-600 w-12 h-12 rounded-full flex items-center justify-center text-xl font-bold mb-4\">2<\/div>\r\n                        <h4 class=\"font-bold text-lg mb-2\">\u77ed\u671f\u79df\u8cc3<\/h4>\r\n                        <p class=\"text-sm text-slate-500\">\u4e0d\u8981\u6025\u65bc\u8cb7\u623f\u3002\u5efa\u8b70\u5148\u4f7f\u7528 Airbnb \u6216\u77ed\u79df\u516c\u5bd3\u8a66\u4f4f 1-3 \u500b\u6708\u3002<\/p>\r\n                         <!-- Arrow for desktop -->\r\n                         <div class=\"hidden md:block absolute top-1\/2 -right-6 transform -translate-y-1\/2 text-slate-300 text-2xl\">\u2794<\/div>\r\n                    <\/div>\r\n\r\n                    <!-- Step 3 -->\r\n                    <div class=\"flow-node relative bg-white p-6 rounded-lg shadow-md border-t-8 border-teal-500 flex flex-col items-center text-center\">\r\n                        <div class=\"bg-teal-100 text-teal-600 w-12 h-12 rounded-full flex items-center justify-center text-xl font-bold mb-4\">3<\/div>\r\n                        <h4 class=\"font-bold text-lg mb-2\">\u5b89\u5bb6\u8207\u958b\u6236<\/h4>\r\n                        <p class=\"text-sm text-slate-500\">\u7c3d\u7f72\u9577\u671f\u79df\u7d04\uff0c\u958b\u8a2d\u9280\u884c\u8cec\u6236\uff0c\u8fa6\u7406\u5bec\u5e36\u8207\u91ab\u7642\u4fdd\u96aa\u3002<\/p>\r\n                         <!-- Arrow for desktop -->\r\n                         <div class=\"hidden md:block absolute top-1\/2 -right-6 transform -translate-y-1\/2 text-slate-300 text-2xl\">\u2794<\/div>\r\n                    <\/div>\r\n\r\n                    <!-- Step 4 -->\r\n                    <div class=\"flow-node relative bg-white p-6 rounded-lg shadow-md border-t-8 border-indigo-500 flex flex-col items-center text-center\">\r\n                        <div class=\"bg-indigo-100 text-indigo-600 w-12 h-12 rounded-full flex items-center justify-center text-xl font-bold mb-4\">4<\/div>\r\n                        <h4 class=\"font-bold text-lg mb-2\">\u878d\u5165\u793e\u7fa4<\/h4>\r\n                        <p class=\"text-sm text-slate-500\">\u52a0\u5165\u7576\u5730\u7684\u5916\u7c4d\u6216\u83ef\u4eba\u5546\u6703\u793e\u7fa4\uff0c\u8003\u53d6\u99d5\u7167\uff0c\u4eab\u53d7\u5927\u99ac\u751f\u6d3b\u3002<\/p>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/section>\r\n\r\n    <\/main>\r\n\r\n    <!-- Footer with CTA -->\r\n    <footer class=\"bg-slate-900 text-slate-300 py-16\">\r\n        <div class=\"max-w-7xl mx-auto px-4 text-center space-y-8\">\r\n            <h3 class=\"text-3xl font-bold text-white\">\u6e96\u5099\u597d\u958b\u59cb\u60a8\u7684\u7b2c\u4e8c\u4eba\u751f\u4e86\u55ce\uff1f<\/h3>\r\n            <p class=\"max-w-2xl mx-auto text-lg text-slate-400\">\r\n                \u5c0b\u627e\u7406\u60f3\u7684\u623f\u7522\u8207\u8fa6\u7406\u79fb\u5c45\u624b\u7e8c\u53ef\u80fd\u5145\u6eff\u6311\u6230\u3002\u8b93\u5c08\u696d\u7684\u5718\u968a\u70ba\u60a8\u63d0\u4f9b\u4e00\u7ad9\u5f0f\u7684\u8aee\u8a62\u670d\u52d9\uff0c\u78ba\u4fdd\u60a8\u7684\u79fb\u5c45\u4e4b\u65c5\u9806\u66a2\u7121\u6182\u3002\r\n            <\/p>\r\n            \r\n            <!-- Updated CTA Button -->\r\n            <div class=\"mt-8\">\r\n                <a href=\"https:\/\/international.hartamas.com\/ch\/contact\/\" target=\"_blank\" class=\"inline-block bg-gradient-to-r from-orange-500 to-orange-600 hover:from-orange-600 hover:to-orange-700 text-white font-bold py-4 px-10 rounded-full shadow-lg transform transition hover:scale-105 text-xl\">\r\n                    \u7acb\u5373\u806f\u7e6b Hartamas \u5c08\u696d\u5718\u968a\r\n                <\/a>\r\n            <\/div>            \r\n        <\/div>\r\n    <\/footer>\r\n\r\n    <!-- JavaScript Logic -->\r\n    <script>\r\n        \/\/ --- UTILITY FUNCTIONS ---\r\n\r\n        \/\/ Function to wrap long labels for Chart.js (Splits string into array of strings)\r\n        function wrapLabel(str, maxChars) {\r\n            if (str.length <= maxChars) return str;\r\n            const words = str.split(' ');\r\n            const lines = [];\r\n            let currentLine = words[0];\r\n\r\n            for (let i = 1; i < words.length; i++) {\r\n                if (currentLine.length + 1 + words[i].length <= maxChars) {\r\n                    currentLine += ' ' + words[i];\r\n                } else {\r\n                    lines.push(currentLine);\r\n                    currentLine = words[i];\r\n                }\r\n            }\r\n            lines.push(currentLine);\r\n            \/\/ Fallback for long single words (like Chinese characters without spaces)\r\n            if (lines.length === 1 && lines[0].length > maxChars) {\r\n               \/\/ Simple chunking for Chinese\r\n               const chunks = [];\r\n               for (let i = 0; i < str.length; i += maxChars) {\r\n                   chunks.push(str.substring(i, i + maxChars));\r\n               }\r\n               return chunks;\r\n            }\r\n            return lines;\r\n        }\r\n\r\n        \/\/ Shared Tooltip Configuration for Multi-line Labels\r\n        const tooltipConfig = {\r\n            callbacks: {\r\n                title: function(tooltipItems) {\r\n                    const item = tooltipItems[0];\r\n                    let label = item.chart.data.labels[item.dataIndex];\r\n                    if (Array.isArray(label)) {\r\n                        return label.join(' ');\r\n                    } else {\r\n                        return label;\r\n                    }\r\n                }\r\n            }\r\n        };\r\n\r\n        \/\/ --- CHART 1: RADAR CHART (Livability Matrix) ---\r\n        const ctxRadar = document.getElementById('radarChart').getContext('2d');\r\n        const radarLabels = ['\u751f\u6d3b\u6210\u672c (\u4f4e=\u597d)', '\u91ab\u7642\u8a2d\u65bd', '\u570b\u969b\u9023\u901a\u6027', '\u83ef\u8a9e\u666e\u53ca\u5ea6', '\u5a1b\u6a02\u8207\u751f\u6d3b'];\r\n        \/\/ Wrap labels just in case\r\n        const wrappedRadarLabels = radarLabels.map(l => wrapLabel(l, 16));\r\n\r\n        new Chart(ctxRadar, {\r\n            type: 'radar',\r\n            data: {\r\n                labels: wrappedRadarLabels,\r\n                datasets: [\r\n                    {\r\n                        label: '\u5409\u9686\u5761 (KL)',\r\n                        data: [6, 9, 10, 7, 10], \/\/ Cost is higher (lower score), Medical\/Connect high\r\n                        borderColor: 'rgba(14, 165, 233, 1)', \/\/ Sky 500\r\n                        backgroundColor: 'rgba(14, 165, 233, 0.2)',\r\n                        borderWidth: 2\r\n                    },\r\n                    {\r\n                        label: '\u6ab3\u57ce (Penang)',\r\n                        data: [7, 8, 7, 10, 8], \/\/ Good balance, high Chinese speaking\r\n                        borderColor: 'rgba(249, 115, 22, 1)', \/\/ Orange 500\r\n                        backgroundColor: 'rgba(249, 115, 22, 0.2)',\r\n                        borderWidth: 2\r\n                    },\r\n                    {\r\n                        label: '\u4e9e\u5e87 (KK)',\r\n                        data: [8, 6, 6, 6, 7], \/\/ Lower cost, moderate facilities\r\n                        borderColor: 'rgba(20, 184, 166, 1)', \/\/ Teal 500\r\n                        backgroundColor: 'rgba(20, 184, 166, 0.2)',\r\n                        borderWidth: 2\r\n                    }\r\n                ]\r\n            },\r\n            options: {\r\n                responsive: true,\r\n                maintainAspectRatio: false,\r\n                scales: {\r\n                    r: {\r\n                        angleLines: { color: '#e2e8f0' },\r\n                        grid: { color: '#e2e8f0' },\r\n                        pointLabels: {\r\n                            font: { size: 12, family: \"'Noto Sans TC', sans-serif\" },\r\n                            color: '#475569'\r\n                        },\r\n                        suggestedMin: 0,\r\n                        suggestedMax: 10\r\n                    }\r\n                },\r\n                plugins: {\r\n                    tooltip: tooltipConfig,\r\n                    legend: { position: 'bottom' }\r\n                }\r\n            }\r\n        });\r\n\r\n        \/\/ --- CHART 2: STACKED BAR CHART (Cost of Living) ---\r\n        const ctxBar = document.getElementById('costBarChart').getContext('2d');\r\n        const cities = ['\u5409\u9686\u5761 (KL)', '\u6ab3\u57ce (Penang)', '\u65b0\u5c71 (JB)', '\u4e9e\u5e87 (KK)', '\u99ac\u516d\u7532 (Melaka)'];\r\n        \/\/ Ensure wrap\r\n        const wrappedCityLabels = cities.map(c => wrapLabel(c, 16));\r\n\r\n        new Chart(ctxBar, {\r\n            type: 'bar',\r\n            data: {\r\n                labels: wrappedCityLabels,\r\n                datasets: [\r\n                    {\r\n                        label: '\u623f\u79df (Rent)',\r\n                        data: [3500, 2200, 2000, 1800, 1500],\r\n                        backgroundColor: '#0ea5e9' \/\/ Sky 500\r\n                    },\r\n                    {\r\n                        label: '\u9910\u98f2 (Food)',\r\n                        data: [1500, 1200, 1300, 1000, 900],\r\n                        backgroundColor: '#f97316' \/\/ Orange 500\r\n                    },\r\n                    {\r\n                        label: '\u6c34\u96fb\u7db2\/\u4ea4\u901a (Utilities\/Transport)',\r\n                        data: [800, 500, 600, 400, 300],\r\n                        backgroundColor: '#14b8a6' \/\/ Teal 500\r\n                    }\r\n                ]\r\n            },\r\n            options: {\r\n                responsive: true,\r\n                maintainAspectRatio: false,\r\n                scales: {\r\n                    x: {\r\n                        stacked: true,\r\n                        grid: { display: false }\r\n                    },\r\n                    y: {\r\n                        stacked: true,\r\n                        beginAtZero: true,\r\n                        title: {\r\n                            display: true,\r\n                            text: '\u99ac\u5e63 (MYR) \/ \u6708'\r\n                        }\r\n                    }\r\n                },\r\n                plugins: {\r\n                    tooltip: tooltipConfig,\r\n                    legend: { position: 'top' }\r\n                }\r\n            }\r\n        });\r\n\r\n        \/\/ --- CHART 3: PLOTLY BUBBLE CHART (Real Estate) ---\r\n        \/\/ Using Plotly to demonstrate variety, configured for Canvas rendering\r\n        \r\n        const bubbleData = [{\r\n            x: [3500, 2200, 2000, 1800, 1500], \/\/ Avg Rent (MYR)\r\n            y: [900, 1200, 1100, 1400, 1300],  \/\/ Avg Size (SqFt) for that price\r\n            text: ['\u5409\u9686\u5761<br>\u9ad8\u5bc6\u5ea6\u793e\u5340', '\u6ab3\u57ce<br>\u6d77\u6ff1\u516c\u5bd3', '\u65b0\u5c71<br>\u8fd1\u65b0\u52a0\u5761', '\u4e9e\u5e87<br>\u5bec\u655e\u6d77\u666f', '\u99ac\u516d\u7532<br>\u6b77\u53f2\u57ce\u5340'],\r\n            mode: 'markers',\r\n            marker: {\r\n                size: [40, 30, 25, 15, 10], \/\/ Expat Community Density (Visual representation)\r\n                color: ['#0ea5e9', '#f97316', '#4f46e5', '#22c55e', '#ef4444'],\r\n                opacity: 0.7,\r\n                line: { color: 'white', width: 2 }\r\n            }\r\n        }];\r\n\r\n        const bubbleLayout = {\r\n            title: { text: '\u79df\u91d1 vs \u7a7a\u9593 vs \u793e\u7fa4\u5bc6\u5ea6', font: { family: 'Noto Sans TC', size: 18 } },\r\n            xaxis: { \r\n                title: '\u5e73\u5747\u6708\u79df\u91d1 (MYR)', \r\n                gridcolor: '#e2e8f0',\r\n                zeroline: false \r\n            },\r\n            yaxis: { \r\n                title: '\u5e73\u5747\u5c45\u4f4f\u9762\u7a4d (SqFt)', \r\n                gridcolor: '#e2e8f0',\r\n                zeroline: false\r\n            },\r\n            margin: { t: 40, r: 20, b: 60, l: 60 },\r\n            paper_bgcolor: 'rgba(0,0,0,0)',\r\n            plot_bgcolor: 'rgba(0,0,0,0)',\r\n            hovermode: 'closest',\r\n            font: { family: 'Noto Sans TC' }\r\n        };\r\n\r\n        const bubbleConfig = {\r\n            responsive: true,\r\n            displayModeBar: false,\r\n            renderer: 'canvas' \/\/ FORCE CANVAS RENDERING (NO SVG)\r\n        };\r\n\r\n        Plotly.newPlot('plotlyBubbleChart', bubbleData, bubbleLayout, bubbleConfig);\r\n\r\n    <\/script>\r\n<\/body>\r\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>\u99ac\u4f86\u897f\u4e9e\u6191\u85c9\u4f4e\u5ec9\u7684\u751f\u6d3b\u6210\u672c\u3001\u512a\u8cea\u7684\u91ab\u7642\u670d\u52d9\u8207\u591a\u5143\u7684\u6587\u5316\uff0c\u6210\u70ba\u5168\u7403\u6700\u4f73\u9000\u4f11\u8207\u79fb\u5c45\u5730\u4e4b\u4e00\u3002\u6211\u5011\u904b\u7528\u6578\u64da\u5206\u6790\uff0c\u70ba\u60a8\u89e3\u6790\u5409\u9686\u5761\u3001\u6ab3\u57ce\u3001\u65b0\u5c71\u3001\u4e9e\u5e87\u8207\u99ac\u516d\u7532\u7684\u5b9c\u5c45\u6307\u6578\u3002<\/p>\n","protected":false},"author":2,"featured_media":4278,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1,3],"tags":[],"class_list":["post-4279","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mm2h","category-living-malaysia"],"blocksy_meta":{"has_hero_section":"default","styles_descriptor":{"styles":{"desktop":"","tablet":"","mobile":""},"google_fonts":[],"version":6}},"aioseo_notices":[],"rttpg_featured_image_url":{"full":["https:\/\/international.hartamas.com\/ch\/wp-content\/uploads\/2025\/12\/kuala-lumpur-penang-Johor-Bahru-Kota-Kinabalu-Melaka.jpg",1200,720,false],"landscape":["https:\/\/international.hartamas.com\/ch\/wp-content\/uploads\/2025\/12\/kuala-lumpur-penang-Johor-Bahru-Kota-Kinabalu-Melaka.jpg",1200,720,false],"portraits":["https:\/\/international.hartamas.com\/ch\/wp-content\/uploads\/2025\/12\/kuala-lumpur-penang-Johor-Bahru-Kota-Kinabalu-Melaka.jpg",1200,720,false],"thumbnail":["https:\/\/international.hartamas.com\/ch\/wp-content\/uploads\/2025\/12\/kuala-lumpur-penang-Johor-Bahru-Kota-Kinabalu-Melaka-150x150.jpg",150,150,true],"medium":["https:\/\/international.hartamas.com\/ch\/wp-content\/uploads\/2025\/12\/kuala-lumpur-penang-Johor-Bahru-Kota-Kinabalu-Melaka-300x180.jpg",300,180,true],"large":["https:\/\/international.hartamas.com\/ch\/wp-content\/uploads\/2025\/12\/kuala-lumpur-penang-Johor-Bahru-Kota-Kinabalu-Melaka-1024x614.jpg",1024,614,true],"1536x1536":["https:\/\/international.hartamas.com\/ch\/wp-content\/uploads\/2025\/12\/kuala-lumpur-penang-Johor-Bahru-Kota-Kinabalu-Melaka.jpg",1200,720,false],"2048x2048":["https:\/\/international.hartamas.com\/ch\/wp-content\/uploads\/2025\/12\/kuala-lumpur-penang-Johor-Bahru-Kota-Kinabalu-Melaka.jpg",1200,720,false],"htliser_size_396x360":["https:\/\/international.hartamas.com\/ch\/wp-content\/uploads\/2025\/12\/kuala-lumpur-penang-Johor-Bahru-Kota-Kinabalu-Melaka-396x360.jpg",396,360,true],"htslider_size_1170x536":["https:\/\/international.hartamas.com\/ch\/wp-content\/uploads\/2025\/12\/kuala-lumpur-penang-Johor-Bahru-Kota-Kinabalu-Melaka-1170x536.jpg",1170,536,true]},"rttpg_author":{"display_name":"\u9673\u9e97\u537f","author_link":"https:\/\/international.hartamas.com\/ch\/author\/reesetan\/"},"rttpg_comment":0,"rttpg_category":"<a href=\"https:\/\/international.hartamas.com\/ch\/category\/mm2h\/\" rel=\"category tag\">MM2H<\/a> <a href=\"https:\/\/international.hartamas.com\/ch\/category\/living-malaysia\/\" rel=\"category tag\">\u99ac\u4f86\u897f\u4e9e\u751f\u6d3b<\/a>","rttpg_excerpt":"\u99ac\u4f86\u897f\u4e9e\u6191\u85c9\u4f4e\u5ec9\u7684\u751f\u6d3b\u6210\u672c\u3001\u512a\u8cea\u7684\u91ab\u7642\u670d\u52d9\u8207\u591a\u5143\u7684\u6587\u5316\uff0c\u6210\u70ba\u5168\u7403\u6700\u4f73\u9000\u4f11\u8207\u79fb\u5c45\u5730\u4e4b\u4e00\u3002\u6211\u5011\u904b\u7528\u6578\u64da\u5206\u6790\uff0c\u70ba\u60a8\u89e3\u6790\u5409\u9686\u5761\u3001\u6ab3\u57ce\u3001\u65b0\u5c71\u3001\u4e9e\u5e87\u8207\u99ac\u516d\u7532\u7684\u5b9c\u5c45\u6307\u6578\u3002","_links":{"self":[{"href":"https:\/\/international.hartamas.com\/ch\/wp-json\/wp\/v2\/posts\/4279","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/international.hartamas.com\/ch\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/international.hartamas.com\/ch\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/international.hartamas.com\/ch\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/international.hartamas.com\/ch\/wp-json\/wp\/v2\/comments?post=4279"}],"version-history":[{"count":7,"href":"https:\/\/international.hartamas.com\/ch\/wp-json\/wp\/v2\/posts\/4279\/revisions"}],"predecessor-version":[{"id":4291,"href":"https:\/\/international.hartamas.com\/ch\/wp-json\/wp\/v2\/posts\/4279\/revisions\/4291"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/international.hartamas.com\/ch\/wp-json\/wp\/v2\/media\/4278"}],"wp:attachment":[{"href":"https:\/\/international.hartamas.com\/ch\/wp-json\/wp\/v2\/media?parent=4279"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/international.hartamas.com\/ch\/wp-json\/wp\/v2\/categories?post=4279"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/international.hartamas.com\/ch\/wp-json\/wp\/v2\/tags?post=4279"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}