当前位置: 首页 > article >正文

echarts图表的使用(常用属性)

通用属性

title

图表的标题,可设置标题文本、位置、样式等。例如:

{
    "title": {
        "text": "示例图表",
        "left": "center",
        "textStyle": {
            "fontSize": 18,
            "fontWeight": "bold"
        }
    }
}

tooltip

鼠标悬停在图表元素上时显示的提示框内容及样式设置。可以配置提示框显示的格式、触发方式等,比如:

{
    "tooltip": {
        "trigger": "item",
        "formatter": "{a} <br/>{b}: {c}"
    }
}

legend

图例,用于标识不同系列的数据。可设置图例的位置、排列方式、样式等,如下:

{
    "legend": {
        "orient": "vertical",
        "left": "left",
        "data": ["系列1", "系列2"]
    }
}

坐标轴相关属性

xAxis 和 yAxis

分别用于设置 x 轴和 y 轴的属性。常见的设置包括坐标轴类型(如数值轴、类目轴等)、坐标轴名称、刻度设置等。
例如,对于 x 轴设置为类目轴:

{
    "xAxis": {
        "type": "category",
        "data": ["苹果", "香蕉", "橙子"],
        "name": "水果种类",
        "axisTick": {
            "show": false
        }
    }

    "yAxis": {
        "type": "value",
        "name": "销量",
        "axisLabel": {
            "formatter": "{value} kg"
        }
    }
}
}

系列(series)属性

type

指定图表的类型,如柱状图('bar')、折线图('line')、饼图('pie')等。不同类型的图表有其特定的配置选项。
例如,绘制柱状图:

{
    "series": [
        {
            "type": "bar",
            "name": "水果销量",
            "data": [10, 20, 15]
        }
    ]
}

data

{
    "series": [
        {
            "type": "pie",
            "name": "水果占比",
            "data": [
                {
                    "name": "苹果",
                    "value": 30
                },
                {
                    "name": "香蕉",
                    "value": 50
                },
                {
                    "name": "橙子",
                    "value": 20
                }
            ]
        }
    ]
}

 图表样式属性

color

用于设置图表的颜色主题或单个系列的颜色。可以是一个颜色数组,按照系列顺序依次应用颜色,也可以针对特定系列设置颜色,如下:

{
    "color": ["#3398DB", "#66CCFF", "#99FF99"],
    "series": [
        {
            "type": "line",
            "name": "系列1",
            "data": [1, 2, 3],
            "lineStyle": {
                "color": "#FF0000"
            }
        }
    ]
}

backgroundColor

设置图表的背景颜色

其他练习实例:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>ECharts</title>
    <!-- 引入刚刚下载的 ECharts 文件 -->
    <script src="echarts.js"></script>
</head>
<style>
  #main{
    margin: 20px;
    width: 30%;
    height: 40vh;
    min-height: 100px;
    min-width: 150px;
  }
  #two{
    margin: 10px; 
    width: 30%;
    height: 40vh;
    min-height: 100px;
    min-width: 150px;
  }
  body{
    background-color: rgb(10, 95, 193);
  }
</style>
<body>
    <div id="main"></div>
    <script>
      // 基于准备好的dom,初始化echarts实例
      var myChart = echarts.init(document.getElementById('main'));

      // 指定图表的配置项和数据
      var option = {
        //对标题进行设置
          title: {
          //标题
          text: '农作物病害发生防止面积',
          //标题样式
          textStyle:{
            //颜色
            color:'#fff'
            //字体大小
            //font-size
          }
          //副标题
          //subtext: 'Fake Data'
        },
        //提示框组件
        tooltip: {
        trigger: 'axis',
        axisPointer:{
          type:"shadow"
        },
        backgroundColor:'rgb(0,0,0,0.8)',
        borderColor:'rgb(0,120,212,0.5)',
        textStyle:{
          color:'#fff'
        }
        },
        //图例组件
        legend: {
          data: ['发生面积', '防止面积'],
          //位置
          right:'3%',
          //布局朝向
          orient:'vertical',//纵向
          //样式
          textStyle:{
            //颜色
            color:'#fff'
            //字体大小
            //font-size
          }
        },
        //工具
        /*toolbox: {
        show: true,
        feature: {
        dataView: { show: true, readOnly: false },
        magicType: { show: true, type: ['line', 'bar'] },
        restore: { show: true },
        saveAsImage: { show: true }
      }
    },*/
      calculable: true,
      xAxis: [
      {
        type: 'category',
        // prettier-ignore
        data: ['2017', '2018', '2019', '2020', '2021', '2022', '2023'],
        //坐标轴轴线
        axisLine:{
          //坐标轴样式
          lineStyle:{
            color:'#fff',
          }
        }
      }
    ],
      yAxis: [
      {
        //坐标轴名称
        name:'面积(亿亩)',
        type: 'value',
        axisLine:{
          //显示纵轴
          show:'show',
          //坐标轴样式
          lineStyle:{
            color:'#fff',
          }
        },
        //去掉背景分割横线
        splitLine:{
          show:false
        }
      }
    ],
    series: [
    {
      name: '发生面积',
      type: 'bar',//柱状图
      data: [24,51,59,62,51,45,28],
      /*markPoint: {
        data: [
          { type: 'max', name: 'Max' },
          { type: 'min', name: 'Min' }
        ]
      },
      markLine: {
        data: [{ type: 'average', name: 'Avg' }]
      }*/
    },
    {
      name: '防止面积',
      type: 'bar',
      data:[21,50,55,59,48,41,25],
      /*markPoint: {
        data: [
          { name: 'Max', value: 182.2, xAxis: 7, yAxis: 183 },
          { name: 'Min', value: 2.3, xAxis: 11, yAxis: 3 }
        ]
      },
      markLine: {
        data: [{ type: 'average', name: 'Avg' }]
      }*/
    }
  ],
  //柱状图颜色
  //color:['','']
  //位置
  grid:{
    left:'5%',
    right:'5%',
    bottom:'2%',
    //是否包含坐标轴
    containLabel:true
  }
};

      // 使用刚指定的配置项和数据显示图表。
      myChart.setOption(option);
      //图标调整尺寸
      window.onresize = function(){
        myChar.resize()
      }
    </script>
<!-- 第二个图表 -->
<div id="two"></div>
<script>
  var myChart2 = echarts.init(document.getElementById('two'));
  var option2 = {
    title: {
          //标题
          text: '病虫害致粮食损失统计',
          //标题样式
          textStyle:{
            //颜色
            color:'#fff'
            //字体大小
            //font-size
          }
          //副标题
          //subtext: 'Fake Data'
        },
    xAxis: {
    type: 'category',
    boundaryGap: true,
    data: ['2017', '2018', '2019', '2020', '2021', '2022', '2023'],
    axisLine:{
          //显示纵轴
          show:'show',
          //坐标轴样式
          lineStyle:{
            color:'#fff',
          }
        },
  },
  yAxis: {
    name:'损失(万吨)',
    type: 'value',
    axisLine:{
          //显示纵轴
          show:'show',
          //坐标轴样式
          lineStyle:{
            color:'#fff',
          }
        },
        //去掉背景分割横线
        splitLine:{
          show:false
        }
  },
  series: [
    {
      data: [820, 932, 901, 934, 1290, 1330, 1320],
      type: 'line',
      color:'#5B89FE',
      areaStyle: {
          color: new echarts.graphic.LinearGradient(
                0, 0, 0, 1, // 渐变方向,从左上角到右下角
                [
                    { offset: 0, color: 'rgba(0, 0, 0, 0.8)' }, // 起始颜色(红色,透明度为0.5)
                    { offset: 1, color: 'rgba(128, 128, 128, 0.2)' }  // 结束颜色(蓝色,透明度为0.5)
                ]
            )
      }
    }
  ]
  };
  myChart2.setOption(option2);
  window.addEventListener('resize', function() {
    myChart2.resize();
  });
</script>
</body>
</html>


http://www.kler.cn/a/383695.html

相关文章:

  • 基于Python的学生宿舍管理系统
  • C语言必做30道练习题
  • 做遥感算法?GIS开发?新型测绘?哪个专业更注重编程能力?
  • 高效管理iPhone存储:苹果手机怎么删除相似照片
  • Redis的内存淘汰机制
  • python爬取旅游攻略(1)
  • 数据特征工程:如何计算Teager能量算子(TEO)? | 基于SQL实现
  • 使用LoRA 对千问70B模型进行微调
  • Jupyter Notebook添加kernel的解决方案
  • 汇聚全球前沿科技产品,北京智能科技产业展览会·世亚智博会
  • 人工智能驱动金融市场:民锋智能分析引领精准投资
  • Java:多态的调用
  • 使用 Spring Security 和 JWT 实现安全认证机制
  • MySQL记录锁、间隙锁、临键锁(Next-Key Locks)详解
  • PostgreSQL (八) 创建分区
  • 如何选择适合CMS运行的服务器?
  • MySQL 8.0在windows环境安装及配置
  • STM32项目---水质水位检测
  • nuPlan最新SOTA,香港科技大学发布基于学习决策范围内的规划PlanScope
  • Java 网络编程(一)—— UDP数据报套接字编程
  • mysql数据同步到sql server
  • SpringBoot在线教育系统:云部署策略
  • 4.3 Linux的中断处理流程
  • 网络安全:数字时代的防护盾
  • Linux系统编程学习 NO.10——进程的概念(1)
  • Linux,shell基础,变量,数值运算