常見問題

開始使用

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

使用 API

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

Chart API 可傳送格式化網址,同時包含資料和圖表設定選項至 Google 伺服器,可讓您輕鬆建立各種類型的映像檔圖表。Chart API 包含一組有多種選項的封閉式圖表。Chart API 資料集最多只能使用 2K 的網址大小。

視覺化 API 可讓您透過網路將圖表和資料來源相互連結並發布:

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

疑難排解

為什麼圖表未顯示?

首先,請檢查您的 JavaScript 控制台。在 Chrome 中,您可以透過 Chrome > [檢視] > [開發人員] > [JavaScript 控制台],或者使用 [Chrome-> 工具] > [JavaScript 控制台] 存取 JavaScript 控制台。所有新式瀏覽器都有 JavaScript 控制台,您可能需要使用 [進階] 或 [開發人員工具] 這類名稱的選單來找到所需項目。

希望控制台能立即協助您解決問題。不過,有時您很難將控制台訊息翻譯成根本原因。以下列舉一些常見的錯誤:

  • 您可能誤用 Google Loader 了。
    • 只載入圖表/load.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 視覺化 API 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 視覺化 API 可用於商業用途嗎?
    沒錯。如需詳細的列印資訊,請參閱 Google 視覺化 API 服務條款
    我可以使用 Google 視覺化 API 建立用戶端軟體嗎?
    目前,我們禁止開發人員使用視覺化 API 建立用戶端軟體。您只能透過提供的介面使用視覺化 API。如需詳細的列印工作,請參閱《Google 視覺化 API API 服務條款》。
    Google 會記錄我所有的圖表資料嗎?
    系統會將 HTTP 要求中的圖表資料儲存至暫存記錄,保留時間不超過兩週,以供內部測試及偵錯。當然,您也應該瞭解,如果圖表出現在公開網頁上的圖片標記中,就可能受到檢索。
    違反計畫政策。
    違反這些計畫政策可能會導致您停用圖表或移除圖表,導致您無法上傳未來的圖表、終止 Google 帳戶,並/或刪除所有圖表。

    積極參與社群活動

    如何與他人分享「圖表」應用程式?
    首先,請將您的圖表放置在圖表庫中。 如有需要,您可重新連結至您的網站,並提供您的原始碼。 歡迎參與我們的討論群組,取得社群的意見回饋。
    圖表庫是採用視覺化 API 的應用程式清單。它為視覺化開發人員社群提供一個中央位置,以共用「圖表」應用程式。如要將圖表應用程式提交到圖片庫,請在線上申請
    如何宣傳我的圖表資料來源?
    在「視覺化群組」上實作實作項目。我們可能喜歡 甚至會提及自己的內容。