常見問題

開始提交

什麼是 Google Visualization API?
Google Visualization API 可讓您使用結構化資料製作圖表和報表應用程式,並協助您直接將圖表整合至網站。
我可以如何運用 Visualization API?
透過 Google Visualization API,您可以存取結構化資料 (在本機瀏覽器中建立),或是從支援的資料來源擷取並以簡易的表格格式擷取。您也可以將自己的資料來源實作為 Visualization API 資料來源,並啟用任何符合圖表的視覺化呈現和/或應用程式來存取資料。格式可以用於報表、分析或圖表應用程式。如此一來,您就能將資料視覺化,並/或為應用程式 (例如 Google 試算表) 新增功能。
哪裡可以找到 Visualization API 說明文件?
如需開發人員指南和所有其他相關說明文件,請前往 https://developers.google.com/chart/interactive/docs
如何建立新圖表?
如要快速上手,最好的方法就是參閱簡介快速入門導覽課程章節。
什麼是資料來源網址?
「資料來源網址」是 Visualization API 資料來源的專屬網址 ID。資料來源網址可能也會包含圖表 查詢語言參數。在此情況下,系統會在擷取資料之前對資料來源執行查詢 (例如排序、分組等)。
哪裡可以找到使用 Visualization API 的圖表應用程式程式碼範例?
您可以在 Visualization API 程式碼範例說明文件中找到程式碼範例。
Flash 應用程式可以存取 Visualization API 嗎?
當然可以! Visualization API 使用 JavaScript API,但有些程式庫可讓 Flash 應用程式與 JavaScript 程式碼連線。您可以在 http://code.google.com/p/swfobject 找到實用的程式庫。 如要瞭解部分影響 Flash 的開發問題,請參閱下文
如何導入資料來源?
請參閱「使用及建立」一節,瞭解圖表的運作方式,然後參閱「實作資料來源」一文,瞭解如何建立資料來源。如果您使用 Java,也可以使用 Google Chart Data Source Java 程式庫快速開始使用。
我可以從 Java 應用程式存取圖表嗎?
可以。有了 Google Web Toolkit (GWT) 的 Google 視覺化程式庫,您就可以從以 GWT 編譯器編譯的 Java 程式碼存取符合 API 規範的視覺化效果,並使用 GWT 編譯器以 Java 編寫與 Visualization API 相容的視覺化內容。發布的候選程式庫也支援 Visualization API 事件模型。
我可以透過使用 Google Web Toolkit (GWT) 編譯器所編寫的應用程式存取圖表嗎?
可以。有了 Google Web Toolkit (GWT) 的 Google 視覺化程式庫,您就可以從以 GWT 編譯器編譯的 Java 程式碼存取符合 API 規範的視覺化效果,並使用 GWT 編譯器以 Java 編寫與 Visualization API 相容的視覺化內容。發布的候選程式庫也支援 Visualization API 事件模型。
我有其他問題/問題要透過誰聯絡來取得更多資訊?
請將您的問題張貼在 Google Visualization API 討論群組,以尋求圖表開發人員社群的協助。「Google 圖表」團隊也會參與這個群組,並回答問題。

使用 API

Google Chart API 與 Google Visualization API 有何不同?

Chart API 可讓您輕鬆建立各種圖片圖表,只要將包含資料和圖表設定選項的格式化網址傳送給 Google 伺服器即可。Chart API 包含一組封閉的圖表,有多種選項可供選擇。Chart API 資料集有網址的大小限制 (約為 2,000 個)。

Visualization API 可讓您在網路上連結圖表和資料來源,並發布圖表:

  • Visualization API 提供存取圖表的 JavaScript API。
  • 它的圖表庫包含 Google 建立的圖表,但也可以開放任何第三方自行製作符合 Visualization API 的圖表。
  • 視覺化 API 圖表和任何可由瀏覽器轉譯的圖表皆可。包括圖片、JavaScript、向量圖形、Flash 等。
  • 您可透過 Visualization API 存取大量的 Chart API 圖表,但某些設定選項可能無法使用。
  • 此 API 亦提供記載的傳輸通訊協定,以及讓所有人向任何 API 視覺化呈現資料來源的管道。
  • 這個 API 包含定義的事件模型,可讓圖表擲回及接收事件,進而與其代管頁面和/或其他頁面上的其他圖表通訊。
我可以透過 Visualization API 存取哪些資料來源?
透過 Visualization API,您可以建立 API 的標準 DataTable 格式,或存取任何支援 API 的資料來源,從瀏覽器本機存取資料。已支援 API 的知名應用程式包括 Google 試算表,以及 Force.com 開發人員平台上的 Salesforce.com。您也可以將自有資料導入圖表資料來源。
我的應用程式預期收到的資料會以特定格式匯出。如何處理例外狀況?
您可以使用 google.visualization.DataTable 類別的 getNumberOfColumns()getColumnType() 方法,測試取得的資料是否與預期相符,並發出不相符的錯誤訊息。
在網站上嵌入圖表是否安全?
直接在網站上執行第三方程式碼可能會帶來風險。 Google 不對應用程式效能、品質、安全性或內容做出承諾或聲明。違反《Google Visualization API 服務條款》的圖表應用程式,可能會從擴充功能庫中移除。
我可以離線使用圖表嗎?
使用者的電腦必須能存取 https://www.gstatic.com/charts/loader.js,才能使用 Google 圖表的互動式功能。這是因為網頁需要的視覺化程式庫會在使用前動態載入。用來載入適當程式庫的程式碼是隨附指令碼的一部分,系統會在您叫用 google.charts.load() 方法時呼叫程式碼。我們的服務條款不允許您下載 google.charts.loadgoogle.visualization 程式碼,供離線使用。
我可以在本機或內部網路下載並代管圖表程式碼嗎?
很抱歉,我們的《服務條款》不允許您下載及儲存或代管 google.charts.loadgoogle.visualization 代碼。不過,如果您不需要 Google 圖表的互動性,可以擷取圖表並視需求使用。

疑難排解

為什麼我的圖表沒有顯示?

首先,請檢查 JavaScript 控制台。在 Chrome 中,您可以透過 Chrome ->「檢視」->「開發人員」->「JavaScript 控制台」進入 JavaScript 控制台,或前往 Chrome ->「工具」>「JavaScript 控制台」。所有新式瀏覽器都有 JavaScript 控制台;您可能需要切換名稱為「進階」或「開發人員工具」的選單,才能找到這項服務。

希望控制台能立即協助您解決問題。然而,將主控台訊息轉譯成根本原因並不容易。以下列舉一些常見的陷阱:

  • 您可能未正確使用 Google 載入器
    • 僅載入一次 chart/loader.js。 無論網頁上有多少圖表, 都只能進行一次呼叫,如下所示:
      <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script> // Do this ONCE.
      這個目標可以位於網頁的標頭或內文中,視您想載入載入的時間而定。
    • 在理想情況下,請只呼叫 google.charts.load 一次,包含網頁所需的所有套件。
      <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
      <script>
        google.charts.load("current", {packages: ["corechart", "timeline"]});
      
        google.charts.setOnLoadCallback(drawBarChart1);
        function drawBarChart1() {
          ...
          var barChart1 = new google.visualization.BarChart(document.getElementById('chart1'));
          ...
        }
      
        google.charts.setOnLoadCallback(drawBarChart2);
        function drawBarChart2() {
          ...
          var barChart2 = new google.visualization.BarChart(document.getElementById('chart2'));
          ...
        }
      
        google.charts.setOnLoadCallback(drawTimeline);
        function drawTimeline() {
          ...
          var timeline = new google.visualization.Timeline(document.getElementById('chart3'));
          ...
        }
      
      </script>
      <div id="chart1"></div>
      ...
      <div id="chart2"></div>
      ...
      <div id="chart3"></div>
  • 每份圖表都應有專屬的元素 ID (例如chart1chart2)。
  • 檢查是否有錯字。請記住,JavaScript 語言須區分大小寫。

如果仍然感到遲緩,請搜尋 Google Visualization API 討論群組,看看是否有人遇到類似問題。如果貼文中無法解答你的問題,請在群組中張貼問題,並附上問題網頁的連結。如果可以,請加入 jsfiddle

為什麼幾個月和日子的差距分別為何?
Google 圖表使用 JavaScript,而且索引是以零為基準。當月的第一天為 0,月份則從 0 (1 月) 到 11 (12 月)。如果程式碼假定從單一位置建立索引,請先減去其中一個,再將資料放入 JavaScript 日期物件。
為什麼我的圖表只適用於部分瀏覽器?
建議您使用 caniuse.com 來深入瞭解瀏覽器不相容情形。使用 Google 圖表時,Internet Explorer 8 以下版本有時會發生問題,原因如下:
  • IE8 不支援 SVG,因此圖表無法轉移至 VML,因此較為受限。
  • IE8 的 JavaScript 不允許在清單中加上逗號。
  • 為什麼在測試時看不到 Flash 圖表?
    因為 Flash 安全性設定,從瀏覽器的檔案位置 (例如 file:///c:/webhost/myhost/myviz.html) 而非網路伺服器網址 (例如 http://www.myhost.com/myviz.html) 存取時,Flash 圖表可能無法正確運作。這通常只是測試問題;從 http:// 位址存取圖表時不會發生問題。您可以按照 Macromedia 網站中的指示操作,解決這個問題。一般來說,我們建議盡量避免開發 Flash。

    Google 視覺呈現計畫政策

    什麼是 Google 視覺呈現計畫政策?
    如《服務條款》所述,我們可能會透過顯示或連結至下列內容,拒絕納入及顯示違反計畫政策的內容:
    • 非法內容。
    • 侵犯個人隱私權的內容。
    • 色情或猥褻。
    • 會幹擾使用者電腦或代管網頁運作的內容 (例如惡意程式碼)。
    • 鼓吹仇恨或煽動暴力的內容。
    • 侵犯著作權。詳情請參閱我們的《數位千禧年著作權法 (DMCA) 政策》。
    • 違反商標的行為。
    • 假冒第三方。

    開發人員建立會收集資料的圖表、同意維護資料,並連結至具有充分法律依據的隱私權政策。此外,我們也要求開發人員確保圖表安全無虞,而且只要應用程式位於圖表目錄中,就必須維護應用程式。

    這些政策會不時修訂,恕不另行通知。

    Google Visualization API 可以用於商業用途嗎?
    可以。如需細則,請參閱 Google Visualization API 的《服務條款》。
    我可以使用 Google Visualization API 建立用戶端軟體嗎?
    我們目前不允許開發人員使用 Visualization API 建立用戶端軟體。您只能透過提供的介面使用 Visualization API。如需細則,請參閱《Google Visualization API 服務條款》。
    Google 會記錄我所有的圖表資料嗎?
    HTTP 要求中包含的圖表資料會儲存在臨時記錄中,為期不會超過兩週,供內部測試及偵錯之用。當然,您也應瞭解,如果圖表出現在公開網頁上的圖片標記中,就可以檢索該圖表。
    違反計畫政策。
    違反這些計畫政策可能會導致您停用或移除圖表、禁止上傳圖表、終止您的 Google 帳戶,以及/或刪除您的所有圖表。

    積極參與社群活動

    如何與其他人分享我的圖表應用程式?
    首先,將圖表放在圖表庫中。您也可以重新連結至您的網站,並視需要提供原始碼。 參與我們的討論群組,取得社群的意見回饋。
    圖表庫會列出使用 Visualization API 的應用程式。視覺化功能開發人員社群可在中央位置分享圖表應用程式。如要將圖表申請提交至範本庫,請在線上申請
    如何宣傳圖表資料來源?
    在視覺化群組中發布實作成果。如果收到的話,我們甚至會親自提及。