- 開始使用
- 使用 API
- 疑難排解
- Google Visualization API 政策
- 積極參與社群活動
開始提交
- 什麼是 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.load
或google.visualization
程式碼,供離線使用。 - 我可以在本機或內部網路下載並代管圖表程式碼嗎?
- 很抱歉,我們的《服務條款》不允許您下載及儲存或代管
google.charts.load
或google.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 (例如
chart1
、chart2
)。 - 檢查是否有錯字。請記住,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 帳戶,以及/或刪除您的所有圖表。