js点击按钮改变字体大小并给他颜色_使用Chart.js库精美地可视化数据

709a9d3d5936f80a96167af17e728fdc.png

创建看起来很漂亮的图表可能会有点痛苦。大多数情况下,网页设计师或开发人员使用图形来使用Photoshop或Illustrator显示数据,这可能需要很长时间才能完成。

使用Chart.js可视化数据 - 教程

Chart.js库是一个伟大的在线JavaScript库,它使用HTML5 canvas元素来绘制图形和图表,并附带文档。

要查看Chart.js的实际运行情况,我们将使用Web编程语言构建以下图表作为我们的标签及其虚构数据:

  • 折线图
  • 条形图
  • 雷达图
  • 极地图
  • 饼形图
  • 甜甜圈图

完成本教程所需的资源:

  • Chart.js图书馆
  • 时间和耐心

查看演示

入门

首先,我们需要将解压缩文件夹中的chart.min.js复制到我们的js文件夹或首选目录中。

d61bd4518f0bc625bd0dd6fbd528c22a.png

配置

接下来我们需要做的是创建一个新的HTML文件并添加以下代码。这将包括HTML5 doctype,然后是CSS文件目录,后跟Chart.js库文件目录。

<!DOCTYPE html>

绘制折线图

要绘制折线图,我们需要首先在HTML文件的body部分创建一个HTML5 canvas元素。

<canvas id="canvas" height="450" width="600"></canvas>

接下来,我们需要创建一个初始化图表类的脚本(在本例中,我使用了myLineChart),然后检索我们想要绘制图表的画布的2D上下文。在结束正文标记之前复制代码。

var myLineChart = new Chart(document.getElementById("canvas").getContext("2d")).Line(LineChart, {scaleFontSize : 13, scaleFontColor : "#ffa45e"});

注意:您还可以使用“图表”选项在每个图表上添加所需的某些样式,例如文本颜色和字体大小。

在上面的示例中,我使用scaleFontSizescaleFontColor来更改数据的字体大小和文本颜色。您可以查看Chart.js文档以查看每个图表的更多可用图表选项。

对于我们的数据结构,我们将初始化一个对象(对于此示例,我使用的是LineChart),该对象包含折线图的所有标签。折线图的数据将分解为一组数据集。您应该定义每个数据集的值,例如填充颜色,笔触颜色,点颜色,点笔划颜色和数据本身。

var LineChart = {
    labels: ["Ruby", "jQuery", "Java", "ASP.Net", "PHP"],
    datasets: [{
        fillColor: "rgba(151,249,190,0.5)",
        strokeColor: "rgba(255,255,255,1)",
        pointColor: "rgba(220,220,220,1)",
        pointStrokeColor: "#fff",
        data: [10, 20, 30, 40, 50]
    }, {
        fillColor: "rgba(252,147,65,0.5)",
        strokeColor: "rgba(255,255,255,1)",
        pointColor: "rgba(173,173,173,1)",
        pointStrokeColor: "#fff",
        data: [28, 68, 40, 19, 96]
    }]
}

您将得到类似的结果,如下图所示:

3090c9188180350507d69f1f3560f45b.png

绘制条形图

要绘制条形图,我们需要首先在HTML文件的body部分创建一个HTML5 canvas元素。

<canvas id =“canvas”height =“450”width =“600”> </ canvas>

接下来,我们将创建一个代表条形图类的脚本(在本例中,我使用了myBarChart),然后检索画布的2D上下文。在结束正文标记之前复制代码。

var myBarChart = new Chart(document.getElementById(“canvas”)。getContext(“2d”))。Bar(BarChart,{scaleFontSize:13,scaleFontColor:“#ffa45e”});

条形图与折线图的数据结构几乎相同。让我们使用一个对象(对于这个例子,我使用BarChart)来保持条形图的标签和值。如您所见,我们显示的数据与上一个折线图示例相同。

var BarChart = {
    labels: ["Ruby", "jQuery", "Java", "ASP.Net", "PHP"],
    datasets: [{
        fillColor: "rgba(151,249,190,0.5)",
        strokeColor: "rgba(255,255,255,1)",
        data: [13, 20, 30, 40, 50]
    }, {
        fillColor: "rgba(252,147,65,0.5)",
        strokeColor: "rgba(255,255,255,1)",
        data: [28, 68, 40, 19, 96]
    }]
}

您将得到类似的结果,如下图所示:

72954a9faafc102e6e12d213be63aeb9.png

绘制雷达图

接下来,让我们绘制雷达图。所以,首先在我们的HTML文件上放置HTML5 canvas元素代码。

<canvas id =“canvas”height =“450”width =“610”> </ canvas>

然后,我们将创建一个初始化雷达图表类的脚本(在本例中,我使用了myRadarChart),然后检索画布的2D上下文。将代码放在结束体标记之前。

var myRadarChart = new Chart(document.getElementById(“canvas”)。getContext(“2d”))。Radar(RadarChart,{pointLabelFontSize:13,pointLabelFontColor:“#ffa45e”});

对于雷达图,我们需要为图表的每个点显示一个标签。这将包括一个字符串数组,然后在图表周围显示它。为此,让我们再次实例化一个对象(对于这个例子,我使用RadarChart)作为雷达图的标签和值的容器。

var RadarChart = {
    labels: ["Ruby", "jQuery", "Java", "ASP.Net", "PHP"],
    datasets: [{
        fillColor: "rgba(151,249,190,0.5)",
        strokeColor: "rgba(255,255,255,1)",
        pointColor: "rgba(220,220,220,1)",
        pointStrokeColor: "#fff",
        data: [10, 20, 30, 40, 50]
    }, {
        fillColor: "rgba(252,147,65,0.5)",
        strokeColor: "rgba(255,255,255,1)",
        pointColor: "rgba(173,173,173,1)",
        pointStrokeColor: "#fff",
        data: [28, 48, 40, 19, 96]
    }]
}

您将得到类似的结果,如下图所示:

3f9b33137d703df0d247717d6f438c94.png

绘制极地面积图

要绘制Polar Area图表,我们需要在HTML文件中使用HTML5 canvas元素代码。

<canvas id =“canvas”height =“400”width =“610”> </ canvas>

接下来,让我们为对象创建一个脚本(在本例中,我使用了myPolarAreaChart),然后检索画布的2D上下文。您可以在结束正文标记之前复制下面的代码。

var myPolarAreaChart = new Chart(document.getElementById(“canvas”)。getContext(“2d”))。PolarArea(PolarChart,{scaleFontSize:13,scaleFontColor:“#ffa45e”});

极区图与饼图几乎相同; 但是,每个段具有相同的角度,并且半径根据值而不同。

让我们首先实例化对象(例如,我使用PolarChart)来保存标签和值,从而创建Polar区域图的数据结构。value属性应该是数字,而color属性应该是字符串。

var PolarChart = [{
    value: Math.random(),
    color: "#fac59c"
}, {
    value: Math.random(),
    color: "#c9fadd"
}, {
    value: Math.random(),
    color: "#a2efff"
}, {
    value: Math.random(),
    color: "#e6d1ff"
}, {
    value: Math.random(),
    color: "#ffd1f9"
}, {
    value: Math.random(),
    color: "#ffd1d1"
}];

您将得到类似的结果,如下图所示:

cb8100c840a867ad3a779c7d575113bc.png

绘制饼图

接下来,让我们绘制一个饼图。首先,我们需要HTML5 canvas元素。

<canvas id =“canvas”height =“450”width =“610”> </ canvas>

然后,让我们创建我们的对象(在这个例子中,我使用myPieChart),然后检索画布的2D上下文。在关闭正文标记之前复制下面的代码。

var myPieChart = new Chart(document.getElementById(“canvas”)。getContext(“2d”))。Pie(PieChart);

对于饼图,我们需要传入一个具有值(即数字)和颜色属性的对象数组。所以,让我们这样做。复制下面的代码。

var PieChart = [{
    value: 40,
    color: "#fcc79e"
}, {
    value: 30,
    color: "#beefd2"
}, {
    value: 90,
    color: "#ffddfb"
}];

您将得到类似的结果,如下图所示:

300bb02679f13f5d1c37a5eb54acb0ff.png

绘制圆环图

最后,我们将绘制一个圆环图。我们需要首先在HTML文件的body部分创建一个HTML5 canvas元素。

<canvas id =“canvas”height =“450”width =“610”> </ canvas>

接下来,我们需要获取画布的上下文并实例化图表。

var myDoughnutChart = new Chart(document.getElementById(“canvas”)。getContext(“2d”))。Donut(DoughnutChart);

最后,让我们创建数据。对于圆环图,就像饼图一样,我们需要传递一个具有颜色属性的对象数组。

var DoughnutChart = [{
    value: 60,
    color: "#fcc79e"
}, {
    value: 30,
    color: "#beefd2"
}, {
    value: 50,
    color: "#ffddfb"
}, {
    value: 120,
    color: "#cdecff"
}, {
    value: 90,
    color: "#fff5bc"
}];

您将得到类似的结果,如下图所示:

f27626dfbeda95a42c2d6ebf2a875568.png

最后的话

Chart.js是一个很棒的JavaScript库,可以用你创造性的方式创建图表。本教程介绍了如何使用这个很酷的库的步骤。但是,使用Chart.js有一些缺点,例如,它没有工具提示,也没有交互性。

据说这个JavaScript库还有很长的路要走,最终会被不同的开发人员改进。

玩它并让我知道如果你有一个演示,你使用图表选项想出一个很酷的设计。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值