【Echarts】用echarts绘制饼图

简介: 使用init将准备好的dom进行初始化,也可以引入喜欢的主题,默认的有dark和light。找到合适的主题后,要在头部引用。

🙋‍ 哈喽大家好,本次是JavaScript专栏echarts板块第一期

⭐本期内容:用echarts绘制饼图

🏆系列专栏:Echarts

👍一起学习,一起加油!


前言


echarts(Enterprise Charts,商业级数据图表)是一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等),底层依赖轻量级的矢量图形库 ZRender,提供直观,交互丰富,可高度个性化定制的数据可视化图表。


效果图


f8d825469dcd4cb5b406253faaff08a3.png


思路


准备一个dom


先在body中设置一个div,设置id,宽度和高度


60dc975acfae43e693450dd68d241fd2.png


在头部引入echarts的js文件


94bb9cd5b4634a46a172c44bca4fd9cd.png


在body中添加一个script标签,用于编写代码。


dc26e59218904c45867302b419ec720d.png


添加setOption将刚指定的配置项和数据显示图表。


a32272627db7439fad6c8629aeb82e93.png


基于准备好的dom,初始化echarts实例


使用init将准备好的dom进行初始化,也可以引入喜欢的主题,默认的有dark和light。找到合适的主题后,要在头部引用。


33ede822be8e4afd9f7fd1c12520fcea.png


大家也可以在官网上找到自己喜欢的主题,下载即可,如果没有找到喜欢的,也可以自定义主题。


echarts官网地址:https://echarts.apache.org


0573fb0363744bc1b3dadc7540790d1d.png

a70192be01494690ad1db366e1d8a767.png


指定图表的配置项和数据(对象)


设置数据,这里数据是数组的形式,一个对象包括了name和value两个属性,属性用键值对的方式进行设置。我这里的数据是各个省份疫情未新增天数


(数据是上个月的某一天,不一定真实,仅供实现效果,杠就是你对👀)

8c0dad9757234797b0ad14ce477c97cd.png


在option中指定图表的配置项和数据


b2fc3830bddf43319c9cf44bbbca03bb.png


设置标题的内容,位置居中,距离上边距50px。


775070949b0a4f30b88723587990c61e.png


toolbox是工具栏组件相关的行为,必须引入工具栏组件后才能使用。 这里使用show显示工具栏,feature是各工具的配置项。


1b6260d18d9d4680b2811775812f98bd.png


设置鼠标移动到相应色块的效果和图例的位置


0bf02e9b82e24b62bb6cbf7c139158bf.png


设置系列配置项,设置图的类型、数据、标签等。


label为标签,用show显示标签,formatter为回调函数,返回标签显示的内容。


radius是院的内外半径,center是图的位置。


rosetype是圆心角的类型,area是每个部分圆心角不变,radius是圆心角会变化。


设置选中偏离原点一小段距离,selectedMode是类型,selectedOffset是偏移量。


07e4b76f914346d2a9a071d8f2e240bf.png


HTML


<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>饼图</title>
    <script src="./echarts.js"></script>
    <script src="./dark.js"></script>
  </head>
  <body>
    <div id="main" style="width: 1000px; height: 800px"></div>
    <script type="text/javascript">
      // 2.基于准备好的dom,初始化echarts实例
      var myChart = echarts.init(document.getElementById("main"), "dark");
      // 设置数据,对象,name和value属性
      var pieData = [
        {
          name: "北京",
          value: 1,
        },
        {
          name: "上海",
          value: 1,
        },
        {
          name: "黑龙江",
          value: 17,
        },
        {
          name: "吉林",
          value: 9,
        },
        {
          name: "辽宁",
          value: 9,
        },
        {
          name: "内蒙古",
          value: 22,
        },
        {
          name: "新疆",
          value: 23,
        },
        {
          name: "西藏",
          value: 42,
        },
        {
          name: "青海",
          value: 35,
        },
        {
          name: "四川",
          value: 7,
        },
        {
          name: "云南",
          value: 20,
        },
        {
          name: "陕西",
          value: 21,
        },
        {
          name: "重庆",
          value: 16,
        },
        {
          name: "贵州",
          value: 24,
        },
        {
          name: "广西",
          value: 16,
        },
        {
          name: "海南",
          value: 21,
        },
        {
          name: "澳门",
          value: 37,
        },
        {
          name: "湖南",
          value: 12,
        },
        {
          name: "江西",
          value: 13,
        },
        {
          name: "福建",
          value: 14,
        },
        {
          name: "安徽",
          value: 13,
        },
        {
          name: "浙江",
          value: 7,
        },
        {
          name: "江苏",
          value: 22,
        },
        {
          name: "宁夏",
          value: 8,
        },
        {
          name: "山西",
          value: 16,
        },
        {
          name: "河北",
          value: 13,
        },
        {
          name: "天津",
          value: 13,
        },
      ];
      // 3.指定图表的配置项和数据(对象)
      var option = {
        title: {
          text: "各省份疫情未新增天数",
          left: "center",
          right: "center",
          top: "50px",
        },
        toolbox: {
          show: true,
          feature: {
            mark: { show: true },
            dataView: { show: true, readOnly: false },
            restore: { show: true },
            saveAsImage: { show: true },
          },
        },
        tooltip: {
          trigger: "item",
        },
        legend: {
          left: "center",
          top: "bottom",
        },
        series: [
          {
            type: "pie",
            data: pieData,
            label: {
              //显示文字
              show: true,
              formatter: function (arg) {
                return arg.name + "未新增" + arg.value + "天";
              },
            },
            radius: [60, 300],
            center: ["50%", "50%"],
            roseType: "area",
            itemStyle: {
              borderRadius: 5,
            },
            // 选中偏离原点一小段距离
            selectedMode: "single",
            selectedOffset: "30", //偏移量
          }
        ]
      };
      // 使用刚指定的配置项和数据显示图表。
      myChart.setOption(option);
    </script>
  </body>
</html>


总结


以上就是今天的学习内容啦~

如果有兴趣的话可以订阅专栏,持续更新呢~

咱们下期再见~


6b754688d2b24abb8edc9eafa3a933a7.gif

目录
相关文章
|
6月前
ECharts 饼图数据放在饼图内部显示
ECharts 饼图数据放在饼图内部显示
64 0
|
6月前
ECharts 饼图切换数据源bug 开始没数据显示 切换或刷新后显示
ECharts 饼图切换数据源bug 开始没数据显示 切换或刷新后显示
85 0
|
7月前
57Echarts - 饼图(Doughnut Chart)
57Echarts - 饼图(Doughnut Chart)
31 0
|
10月前
|
容器
31-Vue之ECharts-饼图
31-Vue之ECharts-饼图
|
6月前
Echarts饼图之-玫瑰图数据交互
Echarts饼图之-玫瑰图数据交互
44 0
|
6月前
echarts饼图点击区块事件
echarts饼图点击区块事件
30 0
|
6月前
|
JSON 数据格式
Echarts饼图实现颜色渐变
Echarts饼图实现颜色渐变
115 0
|
6月前
ECharts 饼图指定颜色显示
ECharts 饼图指定颜色显示
72 0
|
7月前
65Echarts - 饼图(Calendar Pie)
65Echarts - 饼图(Calendar Pie)
22 0
|
7月前
62Echarts - 饼图(Nightingale's Rose Diagram)
62Echarts - 饼图(Nightingale's Rose Diagram)
14 0