📜  图表 js 标题 - Javascript (1)

📅  最后修改于: 2023-12-03 15:23:05.438000             🧑  作者: Mango

图表 JavaScript 标题 - Javascript

作为一名程序员,您是否经常需要使用图表来展示数据呢?那么,Javascript图表库就是您不容错过的利器!本文将为您介绍一些常用的Javascript图表库,让您能够快速轻松地创建可视化的图表。

echarts

echarts是百度开源的数据可视化库,具有文档全面、使用简单、效果出色等优点。该库支持多种图表类型,包括柱状图、饼图、折线图等。此外,echarts还支持动态数据更新和拖拽重计算等交互特性。

// 示例代码

<!-- 引入echarts库 -->
<script src="echarts.min.js"></script>

<!-- 基于准备好的dom,初始化echarts实例 -->
<div id="main" style="width: 600px;height:400px;"></div>

<script>
  // 初始化echarts实例
  var myChart = echarts.init(document.getElementById('main'));

  // 指定图表的配置项和数据
  var option = {
      title: {
          text: '某站点用户访问来源',
          subtext: '纯属虚构',
          left: 'center'
      },
      tooltip: {
          trigger: 'item',
          formatter: '{a} <br/>{b} : {c} ({d}%)'
      },
      legend: {
          orient: 'vertical',
          left: 'left',
          data: ['直接访问', '邮件营销', '联盟广告', '视频广告', '搜索引擎']
      },
      series: [
          {
              name: '访问来源',
              type: 'pie',
              radius: '55%',
              center: ['50%', '60%'],
              data: [
                  {value: 335, name: '直接访问'},
                  {value: 310, name: '邮件营销'},
                  {value: 234, name: '联盟广告'},
                  {value: 135, name: '视频广告'},
                  {value: 1548, name: '搜索引擎'}
              ],
              itemStyle: {
                  emphasis: {
                      shadowBlur: 10,
                      shadowOffsetX: 0,
                      shadowColor: 'rgba(0, 0, 0, 0.5)'
                  }
              }
          }
      ]
  };

  // 使用刚指定的配置项和数据显示图表。
  myChart.setOption(option);
</script>
Highcharts

Highcharts是一款功能强大、界面美观的Javascript图表库,支持多种图表类型,例如面积图、饼图、折线图等。该库还支持数据导出、数据动态更新和事件触发等功能。

// 示例代码

<!-- 引入highcharts库 -->
<script src="highcharts.js"></script>

<!-- 渲染图表 -->
<div id="container" style="height: 400px"></div>

<script>
  Highcharts.chart('container', {
      chart: {
          type: 'column'
      },
      title: {
          text: 'Monthly Average Rainfall'
      },
      subtitle: {
          text: 'Source: WorldClimate.com'
      },
      xAxis: {
          categories: [
              'Jan',
              'Feb',
              'Mar',
              'Apr',
              'May',
              'Jun',
              'Jul',
              'Aug',
              'Sep',
              'Oct',
              'Nov',
              'Dec'
          ],
          crosshair: true
      },
      yAxis: {
          min: 0,
          title: {
              text: 'Rainfall (mm)'
          }
      },
      tooltip: {
          headerFormat: '<span style="font-size:10px">{point.key}</span><table>',
          pointFormat: '<tr><td style="color:{series.color};padding:0">{series.name}: </td>' +
              '<td style="padding:0"><b>{point.y:.1f} mm</b></td></tr>',
          footerFormat: '</table>',
          shared: true,
          useHTML: true
      },
      plotOptions: {
          column: {
              pointPadding: 0.2,
              borderWidth: 0
          }
      },
      series: [{
          name: 'Tokyo',
          data: [49.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]

      }, {
          name: 'New York',
          data: [83.6, 78.8, 98.5, 93.4, 106.0, 84.5, 105.0, 104.3, 91.2, 83.5, 106.6, 92.3]

      }, {
          name: 'London',
          data: [48.9, 38.8, 39.3, 41.4, 47.0, 48.3, 59.0, 59.6, 52.4, 65.2, 59.3, 51.2]

      }, {
          name: 'Berlin',
          data: [42.4, 33.2, 34.5, 39.7, 52.6, 75.5, 57.4, 60.4, 47.6, 39.1, 46.8, 51.1]

      }]
  });
</script>
D3.js

D3.js是一个基于Web标准的数据可视化库,它可以与HTML、CSS、SVG等进行交互,支持自定义图表的绘制过程。D3.js的特点是灵活高效,使得程序员能够更好地掌控图表的绘制过程。

// 示例代码

<!-- 引入d3.js库 -->
<script src="https://d3js.org/d3.v4.min.js"></script>

<!-- 渲染图表 -->
<div id="chart"></div>

<script>
  // 定义数据
  var dataset = [50, 30, 20];

  // 定义画布大小
  var width = 400,
      height = 400;

  // 创建画布
  var svg = d3.select("#chart")
              .append("svg")
              .attr("width", width)
              .attr("height", height);

  // 定义颜色比例尺
  var color = d3.scaleOrdinal()
                .domain(dataset)
                .range(["#ff0000", "#00ff00", "#0000ff"]);

  // 绘制圆
  var circles = svg.selectAll("circle")
      .data(dataset)
      .enter()
      .append("circle");

  circles.attr("cx", function(d, i) {
              return (i + 1) * 100;
          })
          .attr("cy", height / 2)
          .attr("r", function(d) {
              return Math.sqrt(d);
          })
          .attr("fill", function(d) {
              return color(d);
          });
</script>

以上这些Javascript图表库都具有各自的优点和适用场景。当然,除了这些库外,我们还可以用其他的工具来绘制图表,例如matplotlib等。希望本文能对您有所帮助,祝愿你愉快地使用Javascript图表库吧!