Echarts

http://echarts.baidu.com/api.html#echarts

柱狀圖:

 <script src="echarts.js" charset="utf-8"></script>
    <script type="text/javascript">

    const $=document.querySelectorAll.bind(document);
    window.onload=function (){
        // 基于準備好的dom,初始化echarts實例
        var myChart = echarts.init($(".box")[0]);
        
        // 指定圖表的配置項和數(shù)據(jù)
        var option = {
            title: {
                text: '北京人口分布',
                subtext: '2017年度(單位: 萬)',
                x: 'center'
            },
            tooltip: {},
            legend: {
                data: ['男', '女'],
                right: 0,
                top: '50%',
                orient: 'vertical'
            },
            xAxis: {
                type: 'category',
                data: ['1月', '2月', '3月', '4月', '5月']
            },
            yAxis: {
                type: 'value'
            },
            series: [{
            name: '男',
            type: 'bar',
            data: [785, 23, 815, 945, 1120]
          },
          {
            name: '女',
            type: 'bar',
            data: [635, 13, 715, 1045, 1320]
          }]
        };

        // 使用剛指定的配置項和數(shù)據(jù)顯示圖表。
        myChart.setOption(option);
    }
    </script>
</head>
<body>
    <div class="box"></div>
</body>
image.png

餅狀圖:

<script src="echarts.js" charset="utf-8"></script>
    <script type="text/javascript">

    const $=document.querySelectorAll.bind(document);
    window.onload=function (){
        // 基于準備好的dom,初始化echarts實例
        var myChart = echarts.init($(".box")[0]);
        
        // 指定圖表的配置項和數(shù)據(jù)
        var option = {
            title: {
                text: '北京人口分布',
                subtext: '2017年度(單位: 萬)',
                x: 'center'
            },
            tooltip: {},
            series: [
          { 
            name: '性別比例',
            type: 'pie',
            radius: '20%',
            center: ['30%', '50%'],
            data: [
                {name:'男',value: 3500},
                {name:'女',value: 2750}
                ]
          },
          {
            name: '年齡比例',
            type: 'pie',
            radius: '40%',
            center: ['70%', '50%'],
            data: [
              {name: '18歲及更小', value: 876},
              {name: '18~28歲', value: 1236},
              {name: '28~38歲', value: 567},
              {name: '38~50歲', value: 684},
              {name: '50歲以上', value: 1350},
            ]
          }]
        };

        // 使用剛指定的配置項和數(shù)據(jù)顯示圖表。
        myChart.setOption(option);
    }
    </script>
</head>
<body>
    <div class="box"></div>
</body>
image.png

餅狀圖2:

<script src="echarts.js" charset="utf-8"></script>
    <script type="text/javascript">

    const $=document.querySelectorAll.bind(document);
    window.onload=function (){
        // 基于準備好的dom,初始化echarts實例
        var myChart = echarts.init($(".box")[0]);
        
        // 指定圖表的配置項和數(shù)據(jù)
        var option = {
            title: {
                text: '北京人口分布',
                subtext: '2017年度(單位: 萬)',
                x: 'center'
            },
            tooltip: {},
            series: [
          { 
            name: '性別比例',
            type: 'pie',
            radius: ['80%','60%'],
            data: [
                {name:'男',value: 3500},
                {name:'女',value: 2750}
                ]
          },
          {
            name: '年齡比例',
            type: 'pie',
            radius: '40%',

            data: [
              {name: '18歲及更小', value: 876},
              {name: '18~28歲', value: 1236},
              {name: '28~38歲', value: 567},
              {name: '38~50歲', value: 684},
              {name: '50歲以上', value: 1350},
            ]
          }]
        };

        // 使用剛指定的配置項和數(shù)據(jù)顯示圖表。
        myChart.setOption(option);
    }
    </script>
</head>
<body>
    <div class="box"></div>
</body>
image.png

結(jié)合展示:

  <style media="screen">
        .box {width:800px; height:600px; border:1px solid black; margin:10px auto 0}
        .box .left, .box .right {width:50%; height:100%; float: left}
        </style>
    <script src="echarts.js" charset="utf-8"></script>
    <script type="text/javascript">

    const $=document.querySelectorAll.bind(document);
    window.onload=function (){
        // 基于準備好的dom,初始化echarts實例
        let oLeft=$('.left')[0];
        let oRight=$('.right')[0];


        let datas=[
        {
          name: '湖南',
          value: 1675,
          citys: [
            {name: '長沙', value: 816},
            {name: '潭州', value: 435},
            {name: '桃園', value: 424},
          ]
        },
        {
          name: '山東',
          value: 1354,
          citys: [
            {name: '濟南', value: 615},
            {name: '臨沂', value: 443},
            {name: '德州', value: 296},
          ]
        },
        {
          name: '東北',
          value: 374,
          citys: [
            {name: '黑龍江', value: 112},
            {name: '牡丹江', value: 65},
            {name: '漠河', value: 197},
          ]
        }
      ]
        
       //左邊——省份
      let option={
        title: {
          text: '省份數(shù)據(jù)'
        },
        series: [
          {
            name: '省數(shù)據(jù)',
            type: 'pie',
            radius: '50%',
            data: datas.map(json=>({name: json.name, value: json.value}))
          }
        ]
      };

      let chart=echarts.init(oLeft);
      chart.setOption(option);

      let chart2=echarts.init(oRight);

      
      chart.on('mouseover', function (ev){
        setCity(ev.name);
      });

      setCity(datas[0].name);
      function setCity(name){
        let data=null;

        datas.forEach(json=>{
          if(json.name==name){
            data=json;
          }
        });

        let option={
          title: {
            text: `${name}省`
          },
          xAxis: [
            {
              type: 'category',
              data: data.citys.map(city=>city.name)
            }
          ],
          yAxis: [
            {
              type: 'value'
            }
          ],
          series: [
            {
              name: 'city',
              //type: 'pie',
              //data: data.citys
              type: 'bar',
              data: data.citys.map(city=>city.value)
            }
          ]
        };

        chart2.setOption(option);
    }
    }
    </script>
</head>
<body>
    <div class="box">
      <div class="left"></div>
      <div class="right"></div>
    </div>
</body>
image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 百度開源圖標庫Echarts ECharts,縮寫來自Enterprise Charts,商業(yè)級數(shù)據(jù)圖表,一個純J...
    冰火人生閱讀 3,476評論 0 0
  • 一、簡單入門 1.從官網(wǎng)下載echarts http://echarts.baidu.com/download.h...
    X_smart閱讀 2,856評論 0 7
  • ECharts 是百度 EFE(Excellent FrontEnd)團隊出品的一個圖形庫,顯示效果比上一代產(chǎn)品類...
    馬文Marvin閱讀 2,378評論 0 2
  • 原文《子曰:關(guān)雎,樂而不淫,哀而不傷?!? 孔子評論《詩經(jīng)》說:“詩三百,一言以蔽之,曰思無邪!”都是真情...
    郭月山閱讀 117評論 0 0
  • 上海 晴 今天在修改知津?qū)W堂三年計劃時,沒有抵觸情緒,心里很平靜。正好一早看到向榮和老師,心里更清楚,任何壓力,...
    桃子時空閱讀 337評論 0 0

友情鏈接更多精彩內(nèi)容