如何在一页上添加两个谷歌图表?

在前端开发中,图表展示是非常常见的需求之一。而谷歌图表(Google Charts)是一套优秀的图表库,可以方便地生成各种类型的图表。本文将介绍如何在同一页上添加两个不同类型的谷歌图表。

步骤

步骤一:引入谷歌图表库

首先需要在 HTML 中引入谷歌图表库:

------- ---------------------- --------------------------------------------------------

步骤二:加载图表核心包

在页面加载完成后,需要使用 google.charts.load 方法来异步加载谷歌图表核心包,该方法接收一个对象作为参数,用来指定要加载的图表包和回调函数等信息。

----------------------------- - ----------- ------------- ---
--------------------------------------------

其中 'packages': ['corechart'] 表示要加载核心图表包。而 drawCharts 是回调函数,用于在核心包加载完成后执行。

步骤三:创建图表数据

在回调函数中,需要创建两个不同类型的图表数据,这里分别以柱状图和折线图为例。

-------- ------------ -
    --- ----- - ---------------------------------------
        -------- -------- ------------
        -------- ----- -----
        -------- ----- -----
        -------- ---- ------
        -------- ----- ----
    ---

    --- ----- - ---------------------------------------
        -------- ---------
        -------- ------
        -------- ------
        -------- -----
        -------- -----
    ---
-

其中 arrayToDataTable 方法用于将二维数组转换为谷歌图表需要的数据格式。

步骤四:创建图表选项

在创建数据之后,需要为每个图表创建选项对象,该对象包含图表的样式、标题、坐标轴等信息。

--- -------- - -
    ------ -------- -------------
    ---------- -----------
    ------- - --------- ------- -
--

--- -------- - -
    ------ ------ -------
    ---------- -------
    ------- - --------- ------- -
--

可以根据需要,调整选项对象中的属性。

步骤五:创建图表实例

接下来需要使用 google.visualization 的工厂方法来创建两个不同类型的图表实例。

--- ------ - --- --------------------------------------------------------------------
--- ------ - --- ------------------------------------------------------------------

其中 ColumnChart 表示柱状图,而 LineChart 表示折线图。document.getElementById('chart1')document.getElementById('chart2') 则分别是两个用于渲染图表的 DOM 元素。

步骤六:绘制图表

最后,调用 draw 方法将图表数据和选项传递给相应的图表实例,并渲染出来。

------------------ ----------
------------------ ----------

至此,我们已经成功地在同一页上添加两个不同类型的谷歌图表。

示例代码

--------- -----
------

------
    ------------- ------ ---------------
    ------- ---------------------- --------------------------------------------------------
    ------- -----------------------
        ----------------------------- - ----------- ------------- ---
        --------------------------------------------

        -------- ------------ -
            --- ----- - ---------------------------------------
                -------- ------

- ----------------------------------------------------------- --------
---------------------------------------------------------------------------------------