Hình ảnh: Biểu đồ hình ảnh chung

Quan trọng: Kể từ ngày 20 tháng 4 năm 2012, phần Biểu đồ hình ảnh của Công cụ biểu đồ của Google đã chính thức không còn được dùng nữa. Ứng dụng này sẽ tiếp tục hoạt động theo chính sách về việc ngừng cung cấp của chúng tôi.

Tổng quan

Biểu đồ hình ảnh chung là một trình bao bọc chung cho tất cả các biểu đồ do API Google Biểu đồ tạo ra. Vui lòng đọc tài liệu về API Biểu đồ trước khi thử sử dụng hình ảnh trực quan này. Xin lưu ý rằng bạn có thể gửi tối đa 16K dữ liệu bằng hình ảnh trực quan này, không giống như giới hạn 2K trong lệnh gọi trực tiếp đến API Biểu đồ.

Tất cả dữ liệu được chuyển vào biểu đồ bằng cách sử dụng DataTable hoặc DataView. Ngoài ra, một số nhãn được chuyển dưới dạng cột trong bảng dữ liệu.

Tất cả tham số URL khác của API Biểu đồ (ngoại trừ chd) được truyền dưới dạng lựa chọn.

Bởi: Google

Ví dụ

Dưới đây là ví dụ về một số loại biểu đồ.

Biểu đồ dạng đường

<html>
  <head>
    <script type='text/javascript' src='https://www.gstatic.com/charts/loader.js'></script>
    <script type='text/javascript'>
    google.charts.load("current", {packages:["imagechart"]});
    </script>
    <script type='text/javascript'>
      google.charts.setOnLoadCallback(drawChart);
      function drawChart() {
        var dataTable = new google.visualization.DataTable();
        dataTable.addColumn('string');
        dataTable.addColumn('number');
        dataTable.addColumn('string');

        // Row data is [chl, data point, point label]
        dataTable.addRows([
        ['January',40,undefined],
        ['February',60,'Initial recall'],
        ['March',60,'Product withdrawn'],
        ['April',45,undefined],
        ['May',47,'Relaunch'],
        ['June',75,undefined],
        ['July',70,undefined],
        ['August',72,undefined]
        ]);

        var options = {cht: 'lc', chds:'0,160', annotationColumns:[{column:2, size:12, type:'flag', priority:'high'},]};

        var chart = new google.visualization.ImageChart(document.getElementById('line_div'));
        chart.draw(dataTable, options);
      }
    </script>
  </head>
  <body>
    <div id='line_div'></div>
  </body>
</html>

Biểu đồ thanh dọc

Lưu ý rằng trong biểu đồ thanh được bao bọc, bạn không cần chỉ định chxt='x' như khi bạn tự gọi biểu đồ; nếu bạn không chỉ định một trục, thì Biểu đồ hình ảnh chung sẽ cố gắng thiết lập biểu đồ đúng cách theo mặc định.

<html>
  <head>
    <script type='text/javascript' src='https://www.gstatic.com/charts/loader.js'></script>
    <script type='text/javascript'>
    google.charts.load("current", {packages:["imagechart"]});
    </script>
    <script type='text/javascript'>
      google.charts.setOnLoadCallback(drawChart);
      function drawChart() {
        var dataTable = new google.visualization.DataTable();
        dataTable.addColumn('number');
        dataTable.addColumn('number');
        dataTable.addRows([
          [10,50],
          [50,60],
          [60,100],
          [80,40],
          [40,20]
        ]);

        var options = {cht: 'bvs', chs: '300x125', colors:['#4D89F9','#C6D9FD'],
          chds:'0,160', chxl:'0:|oranges|apples|pears|bananas|kiwis|'};

        var chart = new google.visualization.ImageChart(document.getElementById('bar_div'));
        chart.draw(dataTable, options);
      }
    </script>
  </head>
  <body>
    <div id='bar_div'></div>
  </body>
</html>

Biểu đồ hình tròn

<html>
  <head>
    <script type='text/javascript' src='https://www.gstatic.com/charts/loader.js'></script>
    <script type='text/javascript'>
    google.charts.load("current", {packages:["imagechart"]});
    </script>
    <script type='text/javascript'>
      google.charts.setOnLoadCallback(drawChart);
        function drawChart() {
        var dataTable = new google.visualization.DataTable();
        dataTable.addColumn('string');
        dataTable.addColumn('number');
        dataTable.addRows([
          ['January',12],
          ['February',8],
          ['March',3]
        ]);

        var options = {cht: 'p', title: 'Sales per Month', chp: 0.628, chs: '400x200',
          colors:['#3399CC','#00FF00','#0000FF']};

        var chart = new google.visualization.ImageChart(document.getElementById('pie_div'));
        chart.draw(dataTable, options);
      }
    </script>
  </head>
  <body>
    <div id='pie_div'></div>
  </body>
</html>

Biểu đồ rađa

<html>
  <head>
    <script type='text/javascript' src='https://www.gstatic.com/charts/loader.js'></script>
    <script type='text/javascript'>
    google.charts.load("current", {packages:["imagechart"]});
    </script>
    <script type='text/javascript'>
      google.charts.setOnLoadCallback(drawChart);
      function drawChart() {
        var dataTable = new google.visualization.DataTable();
        dataTable.addColumn('number');
        dataTable.addColumn('number');
        dataTable.addRows([
          [100,10],
          [80,20],
          [60,30],
          [30,40],
          [25,50],
          [20,60],
          [10,70]
        ]);

        var chart = new google.visualization.ImageChart(document.getElementById('radar_div'));

        var options = {cht: 'rs', chco: '00FF00,FF00FF', chg: '25.0,25.0,4.0,4.0', chm: 'B,FF000080,0,1.0,5.0|B,FF990080,1,1.0,5.0',};
        chart.draw(dataTable, options);
      }
    </script>
  </head>
  <body>
    <div id='radar_div'></div>
  </body>
</html>

Biểu đồ bản đồ

<html>
  <head>
    <script type='text/javascript' src='https://www.gstatic.com/charts/loader.js'></script>
    <script type='text/javascript'>
      google.charts.load("current", {packages:["imagechart"]});
    </script>
    <script type='text/javascript'>
      google.charts.setOnLoadCallback(drawChart);
      function drawChart() {
        var dataTable = new google.visualization.DataTable();
        dataTable.addColumn('string');
        dataTable.addColumn('number');
        dataTable.addRows([
          ['DZ',0],
          ['EG',50],
          ['MG',50],
          ['GM',35],
          ['KE',100],
          ['ZA',100]
        ]);

        var options = {cht: 't', chtm: 'africa', chco: '777777,FFC6A5,FF0000', chs: '440x220'};
        var chart = new google.visualization.ImageChart(document.getElementById('map_div'));
        chart.draw(dataTable, options);
      }
    </script>
  </head>
<body>
    <div id='map_div'></div>
</body>
</html>

Đang tải

Tên gói google.charts.load là "imagechart"

  google.charts.load('current', {'packages': ['imagechart']});

Tên lớp của hình ảnh trực quan là google.visualization.ImageChart

  var visualization = new google.visualization.ImageChart(container_div);

Định dạng dữ liệu

Có hai định dạng dữ liệu chung: một định dạng cho biểu đồ bản đồ và một định dạng cho tất cả các biểu đồ khác. Xin lưu ý rằng định dạng số duy nhất được hỗ trợ cho dữ liệu là loại Số JavaScript.

Lưu ý Bạn không nên mã hoá URL bất kỳ giá trị chuỗi nào được chuyển dưới dạng dữ liệu hoặc tuỳ chọn.

Biểu đồ bản đồ

Biểu đồ bản đồ lấy một bảng dữ liệu có hai cột bắt buộc:

Hãy xem tài liệu về biểu đồ bản đồ để biết thêm thông tin.

Biểu đồ không phải bản đồ

Biểu đồ không phải bản đồ lấy một bảng dữ liệu với hai cột tùy chọn (một cột ở đầu, một cột ở cuối) và một hoặc nhiều cột dữ liệu ở giữa:

  • Cột đầu tiên – [không bắt buộc, chuỗi] Mỗi mục đại diện cho một nhãn dùng trên trục X (tương đương với tham số chl hoặc chxl) cho các biểu đồ hỗ trợ mục đó.
  • Các cột tiếp theo – Số lượng cột số bất kỳ, mỗi cột đại diện cho một chuỗi dữ liệu.
  • Cột cuối cùng – [không bắt buộc, chuỗi] Số lượng cột chuỗi bất kỳ sau các cột dữ liệu, trong đó mỗi mục đại diện cho một nhãn điểm dữ liệu của các biểu đồ hỗ trợ cột đó. Nếu muốn sử dụng cột này, bạn phải chỉ định tuỳ chọn annotationColumns.

Dữ liệu sẽ được hiển thị theo nhiều cách khác nhau, tuỳ thuộc vào loại biểu đồ. Hãy xem tài liệu về biểu đồ của bạn.

Lưu ý về chỉ mục cột: Hình ảnh trực quan của Biểu đồ hình ảnh chung sẽ loại bỏ các cột chuỗi khỏi bảng dữ liệu trước khi gửi bảng đến dịch vụ API Biểu đồ. Do đó, các chỉ mục cột trong các tuỳ chọn, phương thức và sự kiện được xác định trên trang này sẽ bao gồm các cột chuỗi trong số lượng chỉ mục. Tuy nhiên, các chỉ mục cột trong mọi tuỳ chọn do dịch vụ API Biểu đồ xử lý (ví dụ: tuỳ chọn chm) sẽ bỏ qua các cột chuỗi trong số lượng chỉ mục.

Các lựa chọn cấu hình

Sau đây là các lựa chọn được xác định cho hình ảnh trực quan này. Hãy xác định chúng trong các đối tượng tuỳ chọn được truyền vào phương thức draw() của hình ảnh trực quan. Không phải loại biểu đồ nào sau đây cũng được hỗ trợ. Hãy xem tài liệu dành cho loại biểu đồ hình ảnh tĩnh của bạn. Bạn có thể truyền bất kỳ tham số URL nào của API Biểu đồ dưới dạng tuỳ chọn. Ví dụ: tham số URL chg=50,50 trong hình ảnh trực quan của Biểu đồ sẽ được chỉ định theo cách sau: options['chg'] = '50,50'.

Lưu ý về màu: Các tuỳ chọn màu như colors, colorbackgroundColor được chỉ định trong định dạng màu của API Biểu đồ. Định dạng này tương tự như định dạng #RRGGBB, ngoại trừ việc có thêm số thập lục phân thứ tư (không bắt buộc) để biểu thị độ trong suốt. Các màu mà con người có thể đọc được, chẳng hạn như "đỏ", "xanh lục", "xanh dương", v.v. không được hỗ trợ. Định dạng màu của API Biểu đồ không bao gồm ký hiệu # ở đầu, nhưng các lựa chọn trực quan hoá biểu đồ hình ảnh chung sẽ chấp nhận các mã màu có hoặc không có #.

Tên Loại Mặc định Nội dung mô tả
annotationColumns Array<object> không có

Nhãn điểm dữ liệu cho nhiều loại biểu đồ. Đây là một mảng các đối tượng, mỗi mảng gán một nhãn được định dạng cho một điểm dữ liệu trên biểu đồ. Tuỳ chọn này chỉ dành cho những biểu đồ hỗ trợ điểm dữ liệu (xem chủ đề được liên kết để tìm hiểu xem chủ đề nào được liên kết) và bảng dữ liệu phải có ít nhất một cột nhãn chuỗi.

Mỗi đối tượng trong mảng có các thuộc tính sau:

  • column [number] – Chỉ mục gốc 0 của cột chứa văn bản dùng trong chú giải. Bạn không cần giá trị ở mỗi hàng của cột này.
  • positionColumn [number] – Chỉ mục từ 0 của cột chứa điểm dữ liệu đang được gắn nhãn. Mặc định là cột dữ liệu đầu tiên.
  • color [string] – Màu của văn bản chú thích trong định dạng màu API Biểu đồ. Giá trị mặc định là "#000000" (màu đen).
  • size [number] – Kích thước phông chữ của chú thích, tính bằng pixel.
  • priority [string] – "thấp", "trung bình" hoặc "cao", chỉ định lớp mà nhãn sẽ được vẽ vào. Giá trị mặc định là "medium" (phương tiện), cho biết nhãn được vẽ sau các thanh và dòng, nhưng trước các nhãn khác.
  • type [string] – "text" hoặc "flag". "text" (văn bản) sẽ tạo một chú thích văn bản thuần tuý và "flag" (gắn cờ) tạo một chú thích hộp thoại.

Ví dụ – Đoạn mã này xác định một nhãn văn bản màu đen, 12 pixel, lấy văn bản từ cột 0 và được gán cho điểm dữ liệu trong cột 2 của cùng hàng: options['annotationColumns'] = [{column: 2, positionColumn: 0, color: '#000000', size: '12', priority: 'high', type: 'text'}];

backgroundColor string "#FFFFFF" (màu trắng) Màu nền cho biểu đồ ở Định dạng màu của API biểu đồ.
màu string Tự động Chỉ định một màu cơ bản để sử dụng cho tất cả các chuỗi; mỗi chuỗi sẽ là một độ chuyển màu của màu được chỉ định. Màu được chỉ định trong Định dạng màu của API Biểu đồ. Sẽ bỏ qua nếu colors được chỉ định.
màu Mảng<string> Tự động Sử dụng thuộc tính này để chỉ định màu cụ thể cho từng chuỗi dữ liệu. Màu được chỉ định trong định dạng màu của API Biểu đồ. Màu i được dùng cho cột dữ liệu i, gói quanh phần đầu nếu có nhiều cột dữ liệu hơn màu. Nếu chấp nhận được các biến thể của một màu duy nhất cho tất cả các chuỗi, hãy sử dụng tuỳ chọn color.
enableEvents boolean false Khiến các biểu đồ gửi các sự kiện do người dùng kích hoạt, chẳng hạn như nhấp chuột hoặc di chuột qua. Chỉ được hỗ trợ cho một số loại biểu đồ cụ thể. Hãy xem mục Sự kiện bên dưới.
tô màu boolean false Nếu đúng, hãy điền vào vùng bên dưới mỗi dòng. Chỉ dành cho biểu đồ dạng đường.
firstHiddenColumn number không có

Chỉ mục cột dữ liệu. Cột được liệt kê và tất cả các cột sau đây sẽ không được dùng để vẽ các thành phần trong chuỗi biểu đồ chính (chẳng hạn như các đường trên biểu đồ dạng đường hoặc thanh trên biểu đồ thanh), mà thay vào đó sẽ được dùng làm dữ liệu cho các điểm đánh dấu và các chú thích khác. Xin lưu ý rằng các cột chuỗi được tính vào số lượng chỉ mục này.

độ cao number 200 Chiều cao của biểu đồ, tính bằng pixel. Nếu bị thiếu hoặc không nằm trong phạm vi chấp nhận được, thì chiều cao của phần tử chứa sẽ được sử dụng. Nếu giá trị này cũng nằm ngoài phạm vi được chấp nhận, thì chiều cao mặc định sẽ được sử dụng.
nhãn string "none"

[Chỉ biểu đồ hình tròn] Nhãn nào, nếu có, cần hiển thị cho từng lát. Chọn trong số các giá trị sau:

  • "none" – Không có nhãn.
  • 'value' – Hiển thị giá trị của lát cắt dưới dạng nhãn.
  • 'name' – Hiển thị tên lát cắt (tên cột) dưới dạng nhãn.
chú thích string "phải" Vị trí hiển thị chú thích trên biểu đồ, so với biểu đồ. Chỉ định một trong các giá trị sau: "top", "bottom", "left", "right", "none". Bị bỏ qua trong các biểu đồ không bao gồm chú giải (chẳng hạn như biểu đồ bản đồ).
tối đa number Giá trị dữ liệu tối đa Giá trị tối đa hiển thị trên thang. Bỏ qua đối với biểu đồ hình tròn. Giá trị mặc định là giá trị dữ liệu tối đa, ngoại trừ biểu đồ thanh, trong đó giá trị mặc định là giá trị dữ liệu tối đa. Giá trị này sẽ bị bỏ qua đối với các biểu đồ thanh khi bảng có nhiều cột dữ liệu.
phút number Giá trị dữ liệu Mimimum Giá trị nhỏ nhất hiển thị trên thang. Bỏ qua đối với biểu đồ hình tròn. Giá trị mặc định là giá trị dữ liệu tối thiểu, ngoại trừ biểu đồ thanh có giá trị mặc định là 0. Giá trị này sẽ bị bỏ qua đối với các biểu đồ thanh khi bảng có nhiều cột dữ liệu.
showCategoryLabels boolean đúng Liệu nhãn có xuất hiện trên trục danh mục (tức là hàng) hay không. Chỉ dành cho biểu đồ dạng đường và biểu đồ thanh.
showValueLabels boolean đúng True hiển thị nhãn trên trục giá trị. Chỉ dành cho biểu đồ dạng đường và biểu đồ thanh.
singleColumnDisplay number không có Chỉ hiển thị cột dữ liệu đã chỉ định. Số này là một chỉ mục từ 0 trong bảng, trong đó 0 là cột dữ liệu đầu tiên. Màu được gán cho một cột sẽ giống như khi tất cả các cột được kết xuất. Không thể dùng với biểu đồ hình tròn hoặc biểu đồ bản đồ.
title string Chuỗi không có nội dung Tiêu đề biểu đồ. Nếu không được chỉ định, sẽ không có tiêu đề nào được hiển thị. Tham số tương đương của biểu đồ là chtt.
valueLabelsInterval number Tự động Khoảng thời gian hiển thị nhãn trục giá trị. Ví dụ: nếu min là 0, max là 100 và valueLabelsInterval là 20, biểu đồ sẽ hiển thị nhãn trục tại (0, 20, 40, 60, 80 100).
chiều rộng number 400 Chiều rộng của biểu đồ, tính bằng pixel. Nếu bị thiếu hoặc không nằm trong phạm vi chấp nhận được, thì chiều rộng của phần tử chứa sẽ được sử dụng. Nếu giá trị đó cũng nằm ngoài phạm vi được chấp nhận, thì chiều rộng mặc định sẽ được sử dụng.

Phương thức

Phương thức Loại dữ liệu trả về Nội dung mô tả
draw(data, options) Không có Vẽ bản đồ.
getImageUrl() Chuỗi Trả về URL API của Google Biểu đồ dùng để yêu cầu biểu đồ. Xin lưu ý rằng giá trị này có thể dài hơn 2.000 ký tự. Hãy xem API Google Biểu đồ để biết thêm chi tiết.

Sự kiện

Nếu bạn đặt thuộc tính enableEvents thành true, thì các biểu đồ hỗ trợ sẽ gửi sự kiện cho những sự kiện của người dùng được liệt kê trong bảng bên dưới. Tất cả những sự kiện này đều trả về một đối tượng event có các thuộc tính sau:

  • type – Chuỗi đại diện cho loại sự kiện.
  • region – Mã nhận dạng cho khu vực bị ảnh hưởng. Thêm tham số chof=json vào loại biểu đồ thô để xem danh sách các tên có sẵn. Hãy xem chof=json để biết thêm chi tiết.
Tên Nội dung mô tả giá trị loại
error Được kích hoạt khi xảy ra lỗi khi cố gắng hiển thị biểu đồ. mã nhận dạng, tin nhắn
onmouseover Được kích hoạt khi người dùng di chuột qua một phần tử biểu đồ. "di chuột qua"
onmouseout Được kích hoạt khi người dùng di chuột ra khỏi một phần tử trong biểu đồ. "nhấp chuột"
onclick Được kích hoạt khi người dùng nhấp vào một phần tử biểu đồ.

"nhấp chuột"

Những biểu đồ nào hỗ trợ sự kiện?

Mọi biểu đồ hỗ trợ thông số chof=json đều hỗ trợ các sự kiện gửi (nghĩa là tất cả biểu đồ, ngoại trừ biểu đồ đặc biệt, ví dụ: mã QR).

Ví dụ về xử lý sự kiện

Dưới đây là ví dụ về một thanh ghi lại các lượt nhấp chuột.

<!DOCTYPE html>
<html  xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="content-type" content="text/html;  charset=utf-8"/>
    <title>
       Google Image Events Sample
    </title>
    <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
    <script type="text/javascript">
      google.charts.load('current', {packages: ['imagechart']});
    </script>
    <script type="text/javascript">
      function drawVisualization() {
        var dataTable = new google.visualization.DataTable();
        dataTable.addColumn('number');
        dataTable.addColumn('number');
        dataTable.addRows([
          [10,50],
          [50,60],
          [60,100],
          [80,40],
          [40,20]
        ]);

        var options = {cht:  'bvs', chs: '300x125',  colors:['#4D89F9','#C6D9FD'],
                       chds:'0,160', chxl:'0:|oranges|apples|pears|bananas|kiwis|', enableEvents:true};

        var chart = new  google.visualization.ImageChart(document.getElementById('visualization'));
        chart.draw(dataTable, options);

        // Assign  event  handler
        google.visualization.events.addListener(chart, 'onclick', mouseEventHandler);
      }

      google.charts.setOnLoadCallback(drawVisualization);

      // Define an event handler
      function mouseEventHandler(event)  {
        document.getElementById('debugger').innerHTML += "You clicked " + event.region + "<br/>";
      }

    </script>
  </head>
  <body style="font-family: Arial;border: 0 none;">
    <div id="visualization" style="width: 300px; height: 300px;"></div>
    <div id="debugger"></div>
  </body>
</html>

Chính sách về dữ liệu

Dữ liệu được gửi đến dịch vụ Google Chart API.

Bản địa hoá

Hình ảnh trực quan này hỗ trợ mọi nội dung bản địa hoá mà dịch vụ Google Biểu đồ hỗ trợ.