可视化:气泡图

概览

使用 SVGVML 在浏览器中呈现的气泡图。将鼠标悬停在气泡上时,显示相关提示。

气泡图用于直观呈现包含 2-4 个维度的数据集。前两个维度以坐标表示,第三个以颜色表示,第四个以颜色表示。

示例

<html>
  <head>
    <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
    <script type="text/javascript">
      google.charts.load('current', {'packages':['corechart']});
      google.charts.setOnLoadCallback(drawSeriesChart);

    function drawSeriesChart() {

      var data = google.visualization.arrayToDataTable([
        ['ID', 'Life Expectancy', 'Fertility Rate', 'Region',     'Population'],
        ['CAN',    80.66,              1.67,      'North America',  33739900],
        ['DEU',    79.84,              1.36,      'Europe',         81902307],
        ['DNK',    78.6,               1.84,      'Europe',         5523095],
        ['EGY',    72.73,              2.78,      'Middle East',    79716203],
        ['GBR',    80.05,              2,         'Europe',         61801570],
        ['IRN',    72.49,              1.7,       'Middle East',    73137148],
        ['IRQ',    68.09,              4.77,      'Middle East',    31090763],
        ['ISR',    81.55,              2.96,      'Middle East',    7485600],
        ['RUS',    68.6,               1.54,      'Europe',         141850000],
        ['USA',    78.09,              2.05,      'North America',  307007000]
      ]);

      var options = {
        title: 'Fertility rate vs life expectancy in selected countries (2010).' +
          ' X=Life Expectancy, Y=Fertility, Bubble size=Population, Bubble color=Region',
        hAxis: {title: 'Life Expectancy'},
        vAxis: {title: 'Fertility Rate'},
        bubble: {textStyle: {fontSize: 11}}
      };

      var chart = new google.visualization.BubbleChart(document.getElementById('series_chart_div'));
      chart.draw(data, options);
    }
    </script>
  </head>
  <body>
    <div id="series_chart_div" style="width: 900px; height: 500px;"></div>
  </body>
</html>

用数字涂色

您可以使用 colorAxis 选项将气泡设置为与值成比例的颜色,如以下示例所示。

<html>
  <head>
    <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
    <script type="text/javascript">
      google.charts.load("current", {packages:["corechart"]});
      google.charts.setOnLoadCallback(drawChart);
      function drawChart() {
        var data = google.visualization.arrayToDataTable([
          ['ID', 'X', 'Y', 'Temperature'],
          ['',   80,  167,      120],
          ['',   79,  136,      130],
          ['',   78,  184,      50],
          ['',   72,  278,      230],
          ['',   81,  200,      210],
          ['',   72,  170,      100],
          ['',   68,  477,      80]
        ]);

        var options = {
          colorAxis: {colors: ['yellow', 'red']}
        };

        var chart = new google.visualization.BubbleChart(document.getElementById('chart_div'));
        chart.draw(data, options);
      }
    </script>
  </head>
  <body>
    <div id="chart_div" style="width: 900px; height: 500px;"></div>
  </body>
</html>

自定义标签

您可以使用 bubble.textStyle 选项控制气泡的字体、字体和颜色:

选项
  var options = {
    title: 'Fertility rate vs life expectancy in selected countries (2010).' +
      ' X=Life Expectancy, Y=Fertility, Bubble size=Population, Bubble color=Region',
    hAxis: {title: 'Life Expectancy'},
    vAxis: {title: 'Fertility Rate'},
    bubble: {
      textStyle: {
        fontSize: 12,
        fontName: 'Times-Roman',
        color: 'green',
        bold: true,
        italic: true
      }
    }
  };
完整网页
<head>
  <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
  <script type="text/javascript">
    google.charts.load("current", {packages:["corechart"]});
    google.charts.setOnLoadCallback(drawChart);

    function drawChart() {

      var data = google.visualization.arrayToDataTable([
        ['ID', 'Life Expectancy', 'Fertility Rate', 'Region',     'Population'],
        ['CAN',    80.66,              1.67,      'North America',  33739900],
        ['DEU',    79.84,              1.36,      'Europe',         81902307],
        ['DNK',    78.6,               1.84,      'Europe',         5523095],
        ['EGY',    72.73,              2.78,      'Middle East',    79716203],
        ['GBR',    80.05,              2,         'Europe',         61801570],
        ['IRN',    72.49,              1.7,       'Middle East',    73137148],
        ['IRQ',    68.09,              4.77,      'Middle East',    31090763],
        ['ISR',    81.55,              2.96,      'Middle East',    7485600],
        ['RUS',    68.6,               1.54,      'Europe',         141850000],
        ['USA',    78.09,              2.05,      'North America',  307007000]
      ]);

      var options = {
        title: 'Fertility rate vs life expectancy in selected countries (2010).' +
          ' X=Life Expectancy, Y=Fertility, Bubble size=Population, Bubble color=Region',
        hAxis: {title: 'Life Expectancy'},
        vAxis: {title: 'Fertility Rate'},
        bubble: {
          textStyle: {
            fontSize: 12,
            fontName: 'Times-Roman',
            color: 'green',
            bold: true,
            italic: true
          }
        }
      };

      var chart = new google.visualization.BubbleChart(document.getElementById('textstyle'));

      chart.draw(data, options);
    }
  </script>
</head>
<body>
  <div id="textstyle" style="width: 900px; height: 500px;"></div>
</body>
</html>

上图的标签难以看清,其中一个原因是周围的空白。这称为 Aura,如果您希望在没有 Aura 的情况下使用图表,可以将 bubble.textStyle.auraColor 设置为 'none'

选项
  var options = {
    title: 'Fertility rate vs life expectancy in selected countries (2010).' +
      ' X=Life Expectancy, Y=Fertility, Bubble size=Population, Bubble color=Region',
    hAxis: {title: 'Life Expectancy'},
    vAxis: {title: 'Fertility Rate'},
    bubble: {
      textStyle: {
        auraColor: 'none'
      }
    }
  };
完整网页
<head>
    <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
    <script type="text/javascript">
      google.charts.load("current", {packages:["corechart"]});
      google.charts.setOnLoadCallback(drawChart);

    function drawChart() {

      var data = google.visualization.arrayToDataTable([
        ['ID', 'Life Expectancy', 'Fertility Rate', 'Region',     'Population'],
        ['CAN',    80.66,              1.67,      'North America',  33739900],
        ['DEU',    79.84,              1.36,      'Europe',         81902307],
        ['DNK',    78.6,               1.84,      'Europe',         5523095],
        ['EGY',    72.73,              2.78,      'Middle East',    79716203],
        ['GBR',    80.05,              2,         'Europe',         61801570],
        ['IRN',    72.49,              1.7,       'Middle East',    73137148],
        ['IRQ',    68.09,              4.77,      'Middle East',    31090763],
        ['ISR',    81.55,              2.96,      'Middle East',    7485600],
        ['RUS',    68.6,               1.54,      'Europe',         141850000],
        ['USA',    78.09,              2.05,      'North America',  307007000]
      ]);

      var options = {
        title: 'Fertility rate vs life expectancy in selected countries (2010).' +
          ' X=Life Expectancy, Y=Fertility, Bubble size=Population, Bubble color=Region',
        hAxis: {title: 'Life Expectancy'},
        vAxis: {title: 'Fertility Rate'},
        bubble: {
          textStyle: {
            auraColor: 'none',
          }
        }
      };

      var chart = new google.visualization.BubbleChart(document.getElementById('noAura'));

      chart.draw(data, options);
    }
  </script>
</head>
<body>
  <div id="noAura" style="width: 900px; height: 500px;"></div>
</body>
</html>

正在加载

google.charts.load 软件包名称为 "corechart"

  google.charts.load("current", {packages: ["corechart"]});

可视化图表的类名称为 google.visualization.BubbleChart

  var visualization = new google.visualization.BubbleChart(container);

数据格式

:表格中的每一行代表一个气泡。

  第 0 列 第 1 列 第 2 列 第 3 列(可选) 第 4 列(可选)
目的: 气泡的 ID(名称) X 坐标 Y 坐标 系列 ID 或表示渐变色颜色的值,具体取决于列类型:
  • string
    用于标识同一系列中的气泡的字符串。请使用相同的值来标识属于同一系列的所有气泡;系统会为同一系列中的气泡分配相同的颜色。系列可以使用 series 选项进行配置。
  • 数字
    使用 colorAxis 选项映射到渐变比例上的实际颜色。
尺寸;此列中的值使用 sizeAxis 选项映射到实际像素值。
数据类型: 字符串 number number 字符串或数字 number

配置选项

名称
动画时长

动画的时长(以毫秒为单位)。如需了解详情,请参阅动画文档

类型:数字
默认:0
动画缓和

已应用于动画的加/减速函数。提供的选项如下:

  • “Linear”- 恒速。
  • “in”- 缓入 - 开始缓慢,加速。
  • “out”- 缓出 - 快速启动和减速。
  • “inAndOut”- 缓入和缓出 - 开始缓慢,加快,然后减慢。
类型:字符串
默认:“线性”
animation.startup

确定图表是否会在初始绘制时以动画形式呈现。如果为 true,则图表将从基线开始,并以动画方式呈现到最终状态。

类型:布尔值
默认 false
坐标轴位置

相较于图表区域,轴标题的放置位置。支持的值:

  • in - 在图表区域内绘制轴标题。
  • out - 在图表区域外绘制轴标题。
  • 无 - 省略轴标题。
类型:字符串
默认:使用“out”
backgroundColor

图表主区域的背景颜色。可以是简单的 HTML 颜色字符串(例如 'red''#00cc00'),也可以是具有以下属性的对象。

类型:字符串或对象
默认:“白色”
backgroundColor.stroke 中

图表边框的颜色,采用 HTML 颜色字符串的形式。

类型:字符串
默认:'#666'
backgroundColor.strokeWidth

边框宽度(以像素为单位)。

类型:数字
默认:0
backgroundColor.fill

图表的填充颜色,以 HTML 颜色字符串表示。

类型:字符串
默认:“白色”
bubble

一个具有成员的对象,用于配置气泡的视觉属性。

Type:对象
默认:null
bubble.opacity

气泡的不透明度,其中 0 表示完全透明,1 表示完全不透明。

类型:介于 0.0 和 1.0 之间的数字
默认:0.8
描边

气泡描边的颜色。

类型:字符串
默认:“#ccc”
bubble.textStyle

用于指定气泡文本样式的对象。此对象的格式如下:

{color: <string>, fontName: <string>, fontSize: <number>}

color 可以是任何 HTML 颜色字符串,例如:'red''#00cc00'。另请参阅 fontNamefontSize

Type:对象
默认 {color: 'black', fontName: <global-font-name>, fontSize: <global-font-size>}
图表区域

一个具有成员的对象,用于配置图表区域的位置和大小(绘制图表本身时,不包括轴和图例)。支持两种格式:数字或后跟 % 的数字。简单的数字是一个以像素为单位的值,数字后跟 % 是一个百分比。示例:chartArea:{left:20,top:0,width:'50%',height:'75%'}

Type:对象
默认:null
chartArea.backgroundColor
图表区域背景颜色。使用字符串时,它可以是十六进制字符串(例如,“#fdc”)或英语颜色名称。使用对象时,可以提供以下属性:
  • stroke:颜色,以十六进制字符串或英语颜色名称的形式提供。
  • strokeWidth:如果提供,则会在给定宽度的图表区域周围绘制边框(颜色为 stroke)。
类型:字符串或对象
默认:“白色”
图表区域

从左边框绘制图表的距离。

类型:数字或字符串
默认:自动
图表区域

从上边框绘制图表的距离。

类型:数字或字符串
默认:自动
图表区域.宽度

图表区域宽度。

类型:数字或字符串
默认:自动
图表.a.height

图表区域高度。

类型:数字或字符串
默认:自动
颜色

用于图表元素的颜色。字符串数组,其中每个元素都是一个 HTML 颜色字符串,例如:colors:['red','#004411']

类型:字符串数组
默认:默认颜色
colorAxis

用于指定颜色列值与颜色或渐变比例之间的映射的对象。 要指定此对象的属性,您可以使用对象字面量表示法,如下所示:

 {minValue: 0,  colors: ['#FF0000', '#00FF00']}
Type:对象
默认:null
colorAxis.minValue

如果存在,请指定图表颜色数据的最小值。此值及更低的颜色值将呈现为 colorAxis.colors 范围中的第一种颜色。

类型:数字
默认:图表数据中颜色列的最小值
colorAxis.maxValue

如果存在,请指定图表颜色数据的最大值。此值及以上的颜色值将呈现为 colorAxis.colors 范围内的最后一种颜色。

类型:数字
默认:图表数据中颜色列的最大值
colorAxis.values

如果存在,则控制值如何与颜色相关联。每个值都与 colorAxis.colors 数组中的相应颜色相关联。这些值适用于图表颜色数据。根据此处指定值的渐变完成着色。不为此选项指定值等同于指定 [minValue, maxValue]。

类型:数字数组
默认:null
colorAxis.colors

要分配给可视化图表中的值的颜色。字符串数组,其中每个元素都是一个 HTML 颜色字符串,例如:colorAxis: {colors:['red','#004411']}。您必须至少有两个值;渐变效果将包含所有值以及计算得出的中间值,其中第一个颜色为最小值,最后一个颜色为最高值。

类型:颜色字符串数组
默认:null
colorAxis.legend

一个对象,用于指定渐变颜色图例的样式。

Type:对象
默认:null
colorAxis.legend.position

图例的位置。可以是下列选项之一:

  • “top”- 图表上方。
  • “bottom”- 图表下方。
  • “in”- 图表内,顶部。
  • “none”- 不显示图例。
Type:对象
默认:“top”
colorAxis.legend.textStyle

用于指定图例文本样式的对象。此对象的格式如下:

{color: <string>, fontName: <string>, fontSize: <number>}

color 可以是任何 HTML 颜色字符串,例如:'red''#00cc00'。另请参阅 fontNamefontSize

Type:对象
默认 {color: 'black', fontName: <global-font-name>, fontSize: <global-font-size>}
colorAxis.legend.numberFormat

数字标签的格式字符串。这是 ICU 模式集的一部分。例如,{numberFormat:'.##'} 会为值 10.666、10.6 和 10 显示值“10.66”、“10.6”和“10.0”。

类型:字符串
默认:自动
启用互动

图表是抛出基于用户的事件还是响应用户互动。如果设为 false,则图表不会抛出“select”事件或其他基于互动的事件(但会抛出“ready”或“error”事件),并且不会显示悬停文本或者根据用户输入以其他方式更改。

类型:布尔值
默认:true
explorer

explorer 选项可让用户平移和缩放 Google 图表。 explorer: {} 提供默认探索器行为,让用户能够通过拖动水平和垂直平移,以及通过滚动进行缩放。

此功能是实验性功能,在未来版本中可能会更改。

注意:探索器仅适用于连续轴(例如数字或日期)。

Type:对象
默认:null
explorer.actions

Google 图表浏览器支持以下三种操作:

  • dragToPan:拖动以在水平和垂直方向上平移图表。如需仅沿横轴平移,请使用 explorer: { axis: 'horizontal' }。同样,垂直轴也是如此。
  • dragToZoom:探索器的默认行为是当用户滚动浏览时执行缩放。如果使用 explorer: { actions: ['dragToZoom', 'rightClickToReset'] },则拖动跨越矩形区域即可放大该区域。我们建议在使用 dragToZoom 时都使用 rightClickToReset。有关缩放自定义,请参阅 explorer.maxZoomInexplorer.maxZoomOutexplorer.zoomDelta
  • rightClickToReset:右键点击图表后,该图会返回原始平移和缩放级别。
类型:字符串数组
默认:['dragToPan', 'rightClickToReset']
explorer.axis

默认情况下,使用 explorer 选项时,用户可以水平和垂直平移。如果您希望用户只能水平平移,请使用 explorer: { axis: 'horizontal' }。同样,explorer: { axis: 'vertical' } 还支持仅垂直平移。

类型:字符串
默认:水平和垂直平移
explorer.keepInBounds

默认情况下,无论数据位于何处,用户都可以平移。要确保用户不会平移到原始图表之外,请使用 explorer: { keepInBounds: true }

类型:布尔值
默认:false
explorer.maxZoomIn

探索器可放大的最大值。默认情况下,用户将可以放大到足以看到原始视图的 25%。设置 explorer: { maxZoomIn: .5 } 后,用户将只能放大到足够远的视图,以查看原始视图的一半。

类型:数字
默认:0.25
explorer.maxZoomOut

探索器可以缩小的最大值。默认情况下,用户将能够缩小到足够多占用图表可用空间的 1/4。设置 explorer: { maxZoomOut: 8 } 会让用户缩小到足够远的距离,让图表只占用可用空间的 1/8。

类型:数字
默认:4
explorer.zoomDelta

当用户放大或缩小地图时,explorer.zoomDelta 会决定用户缩放地图的数量。数字越小,缩放越流畅,缩放速度越慢。

类型:数字
默认:1.5
字体大小

图表中所有文字的默认字体大小(以像素为单位)。您可以使用特定图表元素的属性来替换此设置。

类型:数字
默认:自动
字体名称

图表中所有文本的默认字体。您可以使用特定图表元素的属性来替换此设置。

类型:字符串
默认:“Nearline”
forceIFrame

在内嵌框架内绘制图表。(请注意,在 IE8 中,系统会忽略此选项;所有 IE8 图表都是在 iframe 中绘制的)。

类型:布尔值
默认:false

包含用于配置各种横轴元素的成员。如需指定此对象的属性,您可以使用对象字面量表示法,如下所示:

{
  title: 'Hello',
  titleTextStyle: {
    color: '#FF0000'
  }
}
    
Type:对象
默认:null
hAxis.baseline

横轴的基准。

类型:数字
默认:自动
hAxis.baselineColor

横轴基线的颜色。可以是任何 HTML 颜色字符串,例如 'red''#00cc00'

类型:数字
默认:'black'
haxis.direction

横轴上值的方向。指定 -1 可以反转值的顺序。

类型:1 或 -1
默认:1
hAxis.format

数字轴标签的格式字符串。这是 ICU 模式集的一部分。例如,对于值 10、7.5 和 0.5,{format:'#,###%'} 将显示值“1,000%”、“750%”和“50%”。您还可以提供以下任意资源:

  • {format: 'none'}:显示无格式的数字(例如,800 万)
  • {format: 'decimal'}:显示包含千位分隔符的数字(例如,800 万)
  • {format: 'scientific'}:以科学记数法表示数字(例如,8e6)
  • {format: 'currency'}:以当地货币显示数字(例如,$8000000.00)
  • {format: 'percent'}:以百分比形式显示数字(例如,8 亿
  • {format: 'short'}:显示缩写数字(例如,800 万)
  • {format: 'long'}:以完整字词(如800 万)

应用于标签的实际格式来自加载 API 时使用的语言区域。如需了解详情,请参阅加载包含特定语言区域的图表

在计算刻度线值和网格线时,系统将考虑所有相关网格选项的若干备选组合,如果带格式的对勾标记被复制或重叠,则替代项将被拒绝。因此,如果您只想显示整数刻度值,则可以指定 format:"#",但请注意,如果没有替代条件满足此条件,则不会显示网格或刻度线。

类型:字符串
默认:自动
hAxis.gridlines

一个用于配置横轴网格线的属性。 请注意,横轴网格线是垂直绘制的。如需指定此对象的属性,您可以使用对象字面量表示法,如下所示:

{color: '#333', minSpacing: 20}
Type:对象
默认:null
hAxis.gridlines.color

图表区域内水平网格线的颜色。请指定有效的 HTML 颜色字符串。

类型:字符串
默认:“#CCC”
hAxis.gridlines.count

图表区域内水平网格线的大致数量。如果为 gridlines.count 指定正数,此数值将用于计算网格线之间的 minSpacing。 您可以指定值 1 来只绘制一个网格线,也可以指定 0 来不绘制任何网格线。指定 -1(默认值),即可根据其他选项自动计算网格线数量。

类型:数字
默认:-1
hAxis.gridlines.units

在与图表计算网格线一起使用时,替换日期/日期时间/时段数据类型各个方面的默认格式。允许设置年、月、日、小时、分钟、秒和毫秒的格式。

常规格式为:

gridlines: {
  units: {
    years: {format: [/*format strings here*/]},
    months: {format: [/*format strings here*/]},
    days: {format: [/*format strings here*/]}
    hours: {format: [/*format strings here*/]}
    minutes: {format: [/*format strings here*/]}
    seconds: {format: [/*format strings here*/]},
    milliseconds: {format: [/*format strings here*/]},
  }
}
    

如需了解详情,请参阅日期和时间

Type:对象
默认:null
hAxis.minorGridline

包含用于配置横轴上的次要网格线的对象,与 hAxis.gridlines 选项类似。

Type:对象
默认:null
hAxis.minorGridlines.color

图表区域内水平次要网格线的颜色。请指定有效的 HTML 颜色字符串。

类型:字符串
默认:网格线和背景颜色的混合
hAxis.minorGridlines.count

除了通过将计数设为 0 来停用次要网格外,minorGridlines.count 选项大都已弃用。现在,次要网格线的数量完全取决于主要网格线(请参阅 hAxis.gridlines.interval)之间的时间间隔和所需的最小空间(请参阅 hAxis.minorGridlines.minSpacing)。

类型:数字
默认:1
hAxis.minorGridlines.units

在与图表计算的 MinorDisk 网格线结合使用时,覆盖日期/日期时间/时段数据类型各个方面的默认格式。允许设置年、月、日、小时、分钟、秒和毫秒的格式。

常规格式为:

gridlines: {
  units: {
    years: {format: [/*format strings here*/]},
    months: {format: [/*format strings here*/]},
    days: {format: [/*format strings here*/]}
    hours: {format: [/*format strings here*/]}
    minutes: {format: [/*format strings here*/]}
    seconds: {format: [/*format strings here*/]},
    milliseconds: {format: [/*format strings here*/]},
  }
}
    

如需了解详情,请参阅日期和时间

Type:对象
默认:null
hAxis.logScale

hAxis 属性:使横轴为对数刻度(要求所有值均为正数)。设置为 true 表示“是”。

类型:布尔值
默认:false
hAxis.scaleType

hAxis 属性:使横轴为对数刻度。可以是:

  • null - 不执行对数缩放。
  • “log”- 对数缩放。系统不会绘制负值和零值。此选项与设置 hAxis: { logscale: true } 相同。
  • “glassLog”- 对数绘制的负值和零值。绘制的负数为绝对值对数的负值。接近 0 的值按线性比例绘制。
类型:字符串
默认:null
hAxis.textPosition

横轴文本相对于图表区域的位置。支持的值:“out”、“in”、“none”。

类型:字符串
默认:使用“out”
hAxis.textStyle

用于指定横轴文本样式的对象。此对象的格式如下:

{ color: <string>,
  fontName: <string>,
  fontSize: <number>,
  bold: <boolean>,
  italic: <boolean> }
    

color 可以是任何 HTML 颜色字符串,例如:'red''#00cc00'。另请参阅 fontNamefontSize

Type:对象
默认 {color: 'black', fontName: <global-font-name>, fontSize: <global-font-size>}
hAxis.ticks

使用指定的数组替换自动生成的 X 轴刻度线。数组的每个元素都应该是有效的 tick 值(例如数字、日期、日期时间或时间)或对象。如果是对象,它应该为 tick 值创建一个 v 属性,并包含一个可选的 f 属性,该属性包含将作为标签显示的文本字符串。

除非您指定要替换的 viewWindow.minviewWindow.max,否则 ViewWindow 会自动展开即可包含最小和最大基点。

示例:

  • hAxis: { ticks: [5,10,15,20] }
  • hAxis: { ticks: [{v:32, f:'thirty two'}, {v:64, f:'sixty four'}] }
  • hAxis: { ticks: [new Date(2014,3,15), new Date(2013,5,15)] }
  • hAxis: { ticks: [16, {v:32, f:'thirty two'}, {v:64, f:'sixty four'}, 128] }
类型:元素数组
默认:自动
Haxis.title

hAxis 属性,用于指定横轴的标题。

类型:字符串
默认:null
hAxis.titleTextStyle

用于指定横轴标题文本样式的对象。此对象的格式如下:

{ color: <string>,
  fontName: <string>,
  fontSize: <number>,
  bold: <boolean>,
  italic: <boolean> }
    

color 可以是任何 HTML 颜色字符串,例如:'red''#00cc00'。另请参阅 fontNamefontSize

Type:对象
默认 {color: 'black', fontName: <global-font-name>, fontSize: <global-font-size>}
hAxis.maxValue

将横轴的最大值移动到指定值;在大多数图表中,该值会向右移动。如果设置的此值小于数据的最大 x 值,则忽略。 hAxis.viewWindow.max 会替换此属性。

类型:数字
默认:自动
hAxis.minValue

将横轴的最小值移动到指定值;在大多数图表中,该值会向左移动。如果设为大于数据最小值 x 值的值,系统会忽略此参数。 hAxis.viewWindow.min 会替换此属性。

类型:数字
默认:自动
hAxis.viewWindowMode

指定如何缩放横轴以在图表区域内呈现值。支持以下字符串值:

  • “ nice”- 缩放水平值,让数据最大值和最小值在图表区域的左侧和右侧呈现出一定的距离。 对于数字,viewWindow 会展开为最近的主网格线,对于日期和时间,扩展为最近的次要网格线。
  • “maximized”- 缩放水平值,使数据最大值和最小值与图表区域的左侧和右侧接触。这会使 haxis.viewWindow.minhaxis.viewWindow.max 被忽略。
  • “露骨内容”- 已弃用的选项,用于指定图表区域的左侧和右侧缩放值。(已弃用,因为它与 haxis.viewWindow.minhaxis.viewWindow.max 是多余的。)超出这些值的数据值会被剪裁。您必须指定一个 hAxis.viewWindow 对象,用于描述要显示的最大值和最小值。
类型:字符串
默认:相当于“ nice”,但使用 haxis.viewWindow.minhaxis.viewWindow.max 时优先级更高。
hAxis.viewWindow

指定横轴的剪裁范围。

Type:对象
默认:null
hAxis.viewWindow.max

要呈现的最大水平数据值。

hAxis.viewWindowMode 为“ nice”或“maximized”时,忽略。

类型:数字
默认:自动
hAxis.viewWindow.min

要呈现的最小水平数据值。

hAxis.viewWindowMode 为“ nice”或“maximized”时,忽略。

类型:数字
默认:自动
高度

图表的高度(以像素为单位)。

类型:数字
默认:包含元素的高度
传奇

包含用于配置图例各个方面的成员的对象。如需指定此对象的属性,您可以使用对象字面量表示法,如下所示:

{position: 'top', textStyle: {color: 'blue', fontSize: 16}}
Type:对象
默认:null
图例匹配

图例的对齐方式。可以是下列选项之一:

  • “start”- 与为图例分配的区域的开头对齐。
  • “center”- 以分配给图例的区域为中心。
  • 'end' - 与为图例分配的区域末端对齐。

起点、中心和终点相对于图例的样式(垂直或水平)。例如,在“right”图例中,“start”和“end”分别位于顶部和底部;对于“top”图例,“start”和“end”分别位于该区域的左侧和右侧。

默认值取决于图例的位置。对于“底部”图例,默认值为“居中”;其他图例默认为“开始”。

类型:字符串
默认:自动
图例.max 行

图例中的行数上限。将此列设置为大于 1 的数字,以便为图例添加线条。注意:用于确定实际呈现的行数的准确逻辑仍在变化。

目前,仅当图例位置为“顶部”时,此选项才有效。

类型:数字
默认:1
图例页

选择的初始页面索引(从零开始)。

类型:数字
默认:0
图例位置

图例的位置。可以是下列选项之一:

  • “bottom”- 图表下方。
  • “left”- 在图表左侧,前提是左轴没有关联的系列。 因此,如果您想要添加左侧图例,请使用 targetAxisIndex: 1 选项。
  • “in”- 图表内左上角。
  • “none”- 不显示图例。
  • “right”- 位于图表右侧。与 vAxes 选项不兼容。
  • “top”- 图表上方。
类型:字符串
默认:“right”
图例样式

用于指定图例文本样式的对象。此对象的格式如下:

{ color: <string>,
  fontName: <string>,
  fontSize: <number>,
  bold: <boolean>,
  italic: <boolean> }
    

color 可以是任何 HTML 颜色字符串,例如:'red''#00cc00'。另请参阅 fontNamefontSize

Type:对象
默认 {color: 'black', fontName: <global-font-name>, fontSize: <global-font-size>}
选择模式

selectionMode'multiple' 时,用户可以选择多个数据点。

类型:字符串
默认:“单”
series

一个对象的对象,其中键是系列名称(“颜色”列中的值),每个对象描述图表中对应系列的格式。如果未指定系列或值,将使用全局值。每个对象支持以下属性:

  • color - 用于本系列的颜色。请指定有效的 HTML 颜色字符串。
  • visibleInLegend - 布尔值,其中 true 表示系列应具有图例条目,而 false 表示不应包含系列条目。默认值为 true。
示例:
series: {'Europe': {color: 'green'}}
类型:包含嵌套对象的对象
默认:{}
sizeAxis [尺码轴]

一个具有成员的对象,用于配置值与气泡大小的关联方式。如需指定此对象的属性,您可以使用对象字面量表示法,如下所示:

 {minValue: 0,  maxSize: 20}
Type:对象
默认:null
sizeAxis.maxSize

可能的最大气泡的最大半径(以像素为单位)。

类型:数字
默认:30 个
sizeAxis.maxValue

要映射到 sizeAxis.maxSize 的大小值(如图表数据中所示)。较大的值会被剪裁成该值。

类型:数字
默认:图表数据中尺寸列的最大值
sizeAxis.minSize

可能的最小气泡的最小半径(以像素为单位)。

类型:数字
默认:5
sizeAxis.minValue

要映射到 sizeAxis.minSize 的大小值(如图表数据中所示)。较小的值会被剪裁成该值。

类型:数字
默认:图表数据中大小列的最小值
排序依据气泡大小

如果为 true,请按大小对气泡进行排序,使较小的气泡出现在较大的气泡上方。如果为 false,则按照在 DataTable 中的顺序对气泡进行排序。

类型:布尔值
默认:true
主题

主题是一组预定义的选项值,共同发挥作用以实现特定的图表行为或视觉效果。目前只提供一个主题:

  • “maximized”- 将图表区域最大化,并绘制图例和图表区域内的所有标签。设置以下选项:
    chartArea: {width: '100%', height: '100%'},
    legend: {position: 'in'},
    titlePosition: 'in', axisTitlesPosition: 'in',
    hAxis: {textPosition: 'in'}, vAxis: {textPosition: 'in'}
            
类型:字符串
默认:null
标题

要在图表上方显示的文字。

类型:字符串
默认:无标题
title 位置

与图表区域相比,图表标题的放置位置。支持的值:

  • 输入 - 在图表区域内绘制标题。
  • out - 在图表区域外绘制标题。
  • 无 - 省略标题。
类型:字符串
默认:使用“out”
titleTextStyle

用于指定标题文本样式的对象。此对象的格式如下:

{ color: <string>,
  fontName: <string>,
  fontSize: <number>,
  bold: <boolean>,
  italic: <boolean> }
    

color 可以是任何 HTML 颜色字符串,例如:'red''#00cc00'。另请参阅 fontNamefontSize

Type:对象
默认 {color: 'black', fontName: <global-font-name>, fontSize: <global-font-size>}
工具提示

一个具有成员的对象,用于配置各种提示元素。如需指定此对象的属性,您可以使用对象字面量表示法,如下所示:

{textStyle: {color: '#FF0000'}, showColorCode: true}
Type:对象
默认:null
hint.isHTML

如果设置为 true,则使用 HTML 呈现(而不是 SVG 渲染)的提示。如需了解详情,请参阅自定义提示内容

注意气泡图可视化图表不支持通过提示列数据角色自定义 HTML 提示内容。

类型:布尔值
默认:false
提示文本

用于指定提示文本样式的对象。此对象的格式如下:

{ color: <string>,
  fontName: <string>,
  fontSize: <number>,
  bold: <boolean>,
  italic: <boolean> }
    

color 可以是任何 HTML 颜色字符串,例如:'red''#00cc00'。另请参阅 fontNamefontSize

Type:对象
默认 {color: 'black', fontName: <global-font-name>, fontSize: <global-font-size>}
tooltip.trigger

使提示显示的用户交互:

  • “focus”:用户将鼠标悬停在元素上时,系统会显示提示。
  • “none”- 提示将不会显示。
  • “selection”- 在用户选择元素时,系统会显示提示。
类型:字符串
默认:焦点

包含用于配置各种纵轴元素的成员。如需指定此对象的属性,您可以使用对象字面量表示法,如下所示:

{title: 'Hello', titleTextStyle: {color: '#FF0000'}}
Type:对象
默认:null
vAxis.baseline

vAxis 属性,用于指定纵轴的基线。如果基线大于最高网格线或小于最低网格线,则将舍入为最接近的网格线。

类型:数字
默认:自动
vAxis.baselineColor

指定纵轴基线的颜色。可以是任何 HTML 颜色字符串,例如 'red''#00cc00'

类型:数字
默认:'black'
vAxis.direction

纵轴上的值增大的方向。默认情况下,图表底部会显示低值。指定 -1 可以反转值的顺序。

类型:1 或 -1
默认:1
vAxis.format

数字轴标签的格式字符串。这是 ICU 模式集的一部分。例如,对于值 10、7.5 和 0.5,{format:'#,###%'} 将显示值“1,000%”、“750%”和“50%”。您还可以提供以下任意资源:

  • {format: 'none'}:显示无格式的数字(例如,800 万)
  • {format: 'decimal'}:显示包含千位分隔符的数字(例如,800 万)
  • {format: 'scientific'}:以科学记数法表示数字(例如,8e6)
  • {format: 'currency'}:以当地货币显示数字(例如,$8000000.00)
  • {format: 'percent'}:以百分比形式显示数字(例如,8 亿
  • {format: 'short'}:显示缩写数字(例如,800 万)
  • {format: 'long'}:以完整字词(如800 万)

应用于标签的实际格式来自加载 API 时使用的语言区域。如需了解详情,请参阅加载包含特定语言区域的图表

在计算刻度线值和网格线时,系统将考虑所有相关网格选项的若干备选组合,如果带格式的对勾标记被复制或重叠,则替代项将被拒绝。因此,如果您只想显示整数刻度值,则可以指定 format:"#",但请注意,如果没有替代条件满足此条件,则不会显示网格或刻度线。

类型:字符串
默认:自动
vAxis.gridlines

一个具有成员的对象,用于在垂直轴上配置网格线。请注意,纵轴网格线是水平绘制的。如需指定此对象的属性,您可以使用对象字面量表示法,如下所示:

{color: '#333', minSpacing: 20}
Type:对象
默认:null
vAxis.gridlines.color

图表区域内垂直网格线的颜色。请指定有效的 HTML 颜色字符串。

类型:字符串
默认:“#CCC”
vAxis.gridlines.count

图表区域内水平网格线的大致数量。如果为 gridlines.count 指定正数,此数值将用于计算网格线之间的 minSpacing。 您可以指定值 1 来只绘制一个网格线,也可以指定 0 来不绘制任何网格线。指定 -1(默认值),即可根据其他选项自动计算网格线的数量。

类型:数字
默认:-1
vAxis.gridlines.units

在与图表计算网格线一起使用时,替换日期/日期时间/时段数据类型各个方面的默认格式。允许设置年、月、日、小时、分钟、秒和毫秒的格式。

常规格式为:

gridlines: {
  units: {
    years: {format: [/*format strings here*/]},
    months: {format: [/*format strings here*/]},
    days: {format: [/*format strings here*/]},
    hours: {format: [/*format strings here*/]},
    minutes: {format: [/*format strings here*/]},
    seconds: {format: [/*format strings here*/]},
    milliseconds: {format: [/*format strings here*/]}
  }
}
    

如需了解详情,请参阅日期和时间

Type:对象
默认:null
vAxis.minorGridline

一个对象,用于配置纵轴上的次要网格线,类似于 vAxis.gridlines 选项。

Type:对象
默认:null
vAxis.minorGridlines.color

图表区域内垂直次要网格的颜色。请指定有效的 HTML 颜色字符串。

类型:字符串
默认:网格线和背景颜色的混合
vAxis.minorGridlines.count

Minor 网格线选项大部分都已弃用,除非通过将计数设为 0 来停用次要网格线。次要网格线的数量取决于主要网格线(请参阅 vAxis.gridlines.interval)与最小所需空间之间的时间间隔(请参阅 vAxis.minorGridlines.minSpacing)。

类型:数字
默认:1
vAxis.minorGridlines.units

在与图表计算的 MinorDisk 网格线结合使用时,覆盖日期/日期时间/时段数据类型各个方面的默认格式。允许设置年、月、日、小时、分钟、秒和毫秒的格式。

常规格式为:

gridlines: {
  units: {
    years: {format: [/*format strings here*/]},
    months: {format: [/*format strings here*/]},
    days: {format: [/*format strings here*/]}
    hours: {format: [/*format strings here*/]}
    minutes: {format: [/*format strings here*/]}
    seconds: {format: [/*format strings here*/]},
    milliseconds: {format: [/*format strings here*/]},
  }
}
    

如需了解详情,请参阅日期和时间

Type:对象
默认:null
vAxis.logScale

如果为 true,则将纵轴设置为对数刻度。注意:所有值都必须为正数。

类型:布尔值
默认:false
vAxis.scaleType

vAxis 属性:使垂直轴为对数刻度。可以是:

  • null - 不执行对数缩放。
  • “log”- 对数缩放。系统不会绘制负值和零值。此选项与设置 vAxis: { logscale: true } 相同。
  • “glassLog”- 对数绘制的负值和零值。绘制的负数为绝对值对数的负值。接近 0 的值按线性比例绘制。
类型:字符串
默认:null
vAxis.textPosition

纵轴文本相对于图表区域的位置。支持的值:“out”、“in”、“none”。

类型:字符串
默认:使用“out”
vAxis.textStyle

用于指定纵轴文本样式的对象。此对象的格式如下:

{ color: <string>,
  fontName: <string>,
  fontSize: <number>,
  bold: <boolean>,
  italic: <boolean> }
    

color 可以是任何 HTML 颜色字符串,例如:'red''#00cc00'。另请参阅 fontNamefontSize

Type:对象
默认 {color: 'black', fontName: <global-font-name>, fontSize: <global-font-size>}
vAxis.ticks

使用指定的数组替换自动生成的 Y 轴 tick。数组的每个元素都应该是有效的 tick 值(例如数字、日期、日期时间或时间)或对象。如果是对象,则它应该包含 tick 值的 v 属性,以及包含要显示为标签的文字字符串的可选 f 属性。

除非您指定要替换的 viewWindow.minviewWindow.max,否则 ViewWindow 会自动展开即可包含最小和最大基点。

示例:

  • vAxis: { ticks: [5,10,15,20] }
  • vAxis: { ticks: [{v:32, f:'thirty two'}, {v:64, f:'sixty four'}] }
  • vAxis: { ticks: [new Date(2014,3,15), new Date(2013,5,15)] }
  • vAxis: { ticks: [16, {v:32, f:'thirty two'}, {v:64, f:'sixty four'}, 128] }
类型:元素数组
默认:自动
vAxis.title

vAxis 属性,用于指定纵轴的标题。

类型:字符串
默认:无标题
vAxis.titleTextStyle

用于指定纵轴标题文本样式的对象。此对象的格式如下:

{ color: <string>,
  fontName: <string>,
  fontSize: <number>,
  bold: <boolean>,
  italic: <boolean> }
  

color 可以是任何 HTML 颜色字符串,例如:'red''#00cc00'。另请参阅 fontNamefontSize

Type:对象
默认 {color: 'black', fontName: <global-font-name>, fontSize: <global-font-size>}
vAxis.maxValue

将纵轴的最大值移动到指定值;在大多数图表中,该值会向上。如果该值设为小于数据最大 y 值的值,系统会忽略此参数。 vAxis.viewWindow.max 会替换此属性。

类型:数字
默认:自动
vAxis.minValue

将纵轴的最小值移至指定值;在大多数图表中,此值会下降。如果设置的此值大于数据中的最小 y 值,系统会忽略此参数。 vAxis.viewWindow.min 会替换此属性。

类型:数字
默认:null
vAxis.viewWindowMode

指定如何缩放纵轴以在图表区域内呈现值。支持以下字符串值:

  • “ nice”- 缩放垂直值,让数据最大值和最小值在图表区域底部和顶部略呈现。 对于数字,viewWindow 会展开为最近的主网格线,对于日期和时间,扩展为最近的次要网格线。
  • “maximized”- 缩放垂直值,使数据最大值和最小值接触到图表区域的顶部和底部。这会使 vaxis.viewWindow.minvaxis.viewWindow.max 被忽略。
  • '露骨内容' - 已弃用的用于指定图表区域顶部和底部比例值的选项。(已弃用,因为它与 vaxis.viewWindow.minvaxis.viewWindow.max 是多余的。超出这些值的数据值将被剪裁。您必须指定一个 vAxis.viewWindow 对象,用于描述要显示的最大值和最小值。
类型:字符串
默认:相当于“ nice”,但使用 vaxis.viewWindow.minvaxis.viewWindow.max 时优先级更高。
vAxis.viewWindow

指定纵轴的剪裁范围。

Type:对象
默认:null
vAxis.viewWindow.max

要呈现的垂直数据值的上限。

vAxis.viewWindowMode 为“ nice”或“maximized”时,忽略。

类型:数字
默认:自动
vAxis.viewWindow.min

要呈现的最小垂直数据值。

vAxis.viewWindowMode 为“ nice”或“maximized”时,忽略。

类型:数字
默认:自动
width

图表的宽度(以像素为单位)。

类型:数字
默认:包含元素的宽度

方法

方法
draw(data, options)

绘制图表。图表仅在 ready 事件触发后接受进一步的方法调用。Extended description

返回值类型:无
getAction(actionID)

返回包含请求的 actionID 的提示操作对象。

返回值类型
getBoundingBox(id)

返回一个对象,包含图表元素 id 的左侧、顶部、宽度和高度。尚未记录 id 的格式(它们是事件处理脚本的返回值),以下是一些示例:

var cli = chart.getChartLayoutInterface();

图表区域的高度
cli.getBoundingBox('chartarea').height
条形图或柱形图系列中的第三个条形的宽度
cli.getBoundingBox('bar#0#2').width
饼图中第五个楔形区域的边界框
cli.getBoundingBox('slice#4')
某个垂直(例如柱形)图表的图表数据的边界框:
cli.getBoundingBox('vAxis#0#gridline')
水平(例如条形图)图表数据的边界框:
cli.getBoundingBox('hAxis#0#gridline')

值是相对于图表容器而言的。在绘制图表之后调用此方法。

返回值类型
getChartAreaBoundingBox()

返回一个包含图表内容的左侧、顶部、宽度和高度的对象(即不包括标签和图例):

var cli = chart.getChartLayoutInterface();

cli.getChartAreaBoundingBox().left
cli.getChartAreaBoundingBox().top
cli.getChartAreaBoundingBox().height
cli.getChartAreaBoundingBox().width

值是相对于图表容器而言的。在绘制图表之后调用此方法。

返回值类型
getChartLayoutInterface()

返回一个对象,其中包含有关图表的屏幕位置及其元素的信息。

可以对返回的对象调用以下方法:

  • getBoundingBox
  • getChartAreaBoundingBox
  • getHAxisValue
  • getVAxisValue
  • getXLocation
  • getYLocation

在绘制图表之后调用此方法。

返回值类型
getHAxisValue(xPosition, optional_axis_index)

返回 xPosition 处的水平数据值,该值是到图表容器左边缘的像素偏移量。可以为负数。

示例:chart.getChartLayoutInterface().getHAxisValue(400)

在绘制图表之后调用此方法。

返回值类型:数字
getImageURI()

返回序列化为图片 URI 的图表。

在绘制图表之后调用此方法。

请参阅打印 PNG 图表

返回值类型:返回值类型
getSelection()

返回一组选定图表实体。 可选择的实体是气泡。 在此图表中,在任何时候都只能选择一个实体。 Extended description

返回值类型:一组选择元素
getVAxisValue(yPosition, optional_axis_index)

返回 yPosition 处的垂直数据值,该值是距离图表容器上边缘的像素偏移量。可以为负数。

示例:chart.getChartLayoutInterface().getVAxisValue(300)

在绘制图表之后调用此方法。

返回值类型:数字
getXLocation(dataValue, optional_axis_index)

返回 dataValue 相对于图表容器左边缘的像素 x 坐标。

示例:chart.getChartLayoutInterface().getXLocation(400)

在绘制图表之后调用此方法。

返回值类型:数字
getYLocation(dataValue, optional_axis_index)

返回 dataValue 相对于图表容器上边缘的像素 y 坐标。

示例:chart.getChartLayoutInterface().getYLocation(300)

在绘制图表之后调用此方法。

返回值类型:数字
removeAction(actionID)

从图表中移除所请求的 actionID 的提示操作。

返回值类型none
setAction(action)

设置要在用户点击操作文本时执行的提示操作。

setAction 方法将对象作为其操作参数。此对象应指定 3 个属性:id - 所设置操作的 ID;text - 应显示在操作提示中的文本;action - 当用户点击操作文本时应运行的函数。

所有提示提示操作均应在调用图表的 draw() 方法之前设置。详细说明

返回值类型none
setSelection()

选择指定的图表实体。取消之前选择的所有内容。 可选择的实体是气泡。 对于此图表,一次只能选择一个实体。 Extended description

返回值类型:无
clearChart()

清除该图表,并释放其分配的所有资源。

返回值类型:无

事件

如需详细了解如何使用这些事件,请参阅基本互动处理事件触发事件

名称
animationfinish

在过渡动画播放完毕时触发。

属性:无
click

在用户点击图表内时触发。可用于识别标题、数据元素、图例条目、轴、网格线或标签何时得到点击。

属性:targetID
error

尝试渲染图表出错时触发。

属性:ID、消息
legendpagination

在用户点击图例分页箭头时触发。传回当前图例中从零开始的页面索引和总页数。

属性:currentPageIndex、totalPages
onmouseover

用户将鼠标放在视觉实体上时触发。传递相应数据表元素的行索引和列索引。 气泡与数据表中的行相关联(列索引为 null)。

属性:行、列
onmouseout

在用户离开可见实体时触发。传递相应数据表元素的行索引和列索引。气泡与数据表中的行相关联(列索引为 null)。

属性:行、列
ready

此图表已准备好进行外部方法调用。如果您想与图表交互,并在绘制后调用方法,则应在调用 draw 方法之前为此事件设置监听器,并仅在事件触发后调用它们。

属性:无
select

在用户点击视觉实体时触发。如需了解所选内容,请调用 getSelection()

属性:无

数据政策

所有代码和数据都会在浏览器中进行处理和呈现。不会向任何服务器发送数据。