前言
- 本篇来学习下样式及自适应的使用
样式
直接样式
- 这些样式一般都可以设置颜色或者背景或者字体等样式, 他们会覆盖主题中的样式
- itemStyle
- textStyle
- lineStyle
- areaStyle
- label
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>样式</title> <!-- cdn方式 引入echarts.js文件 --> <script src="https://cdn.jsdelivr.net/npm/echarts@5.4.1/dist/echarts.min.js"></script> </head> <body> <div id='app' style="width: 600px;height:400px"></div> <script> var mCharts = echarts.init(document.getElementById("app")) var pieData = [ { name: 'pass', value: 80, itemStyle: { // 控制pass这一区域的样式 color: '#00FF00' } }, { name: 'fail', value: 10 }, { name: 'skip', value: 5, itemStyle: { // 控制error这一区域的样式 color: '#00FFFF' } }, { name: 'error', value: 5, label: { color: '#FF0000' // 文字(name值)颜色 }, itemStyle: { // 控制error这一区域的样式 color: '#FF0000' } } ] var option = { title: { text: '测试结果', textStyle: { // 控制标题的文字样式 color: 'blue' } }, series: [ { type: 'pie', data: pieData, label: { show: true, formatter: function (arg) { console.log(arg) return arg.data.name + '\n' + arg.percent + '%' } }, selectedMode: 'multiple', // multiple 多选 single 单选 selectedOffset: 30,// 偏移距离 radius: ['50%', '80%'] } ] } mCharts.setOption(option) </script> </body> </html>
高亮样式
- 鼠标滑过或者点击形成的高亮状态. 而高亮样式是针对于元素的高亮状态设定的样式
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>样式</title> <!-- cdn方式 引入echarts.js文件 --> <script src="https://cdn.jsdelivr.net/npm/echarts@5.4.1/dist/echarts.min.js"></script> </head> <body> <div id='app' style="width: 600px;height:400px"></div> <script> var mCharts = echarts.init(document.getElementById("app")) var pieData = [ { name: 'pass', value: 80, itemStyle: { // 控制pass这一区域的样式 color: '#00FF00' } }, { name: 'fail', value: 10 }, { name: 'skip', value: 5, itemStyle: { // 控制error这一区域的样式 color: '#00FFFF' }, emphasis: { itemStyle: { // 高亮(点击时显示的颜色) color: 'pink' } } }, { name: 'error', value: 5, label: { color: '#FF0000' // 文字(name值)颜色 }, itemStyle: { // 控制error这一区域的样式 color: '#FF0000' } } ] var option = { title: { text: '测试结果', textStyle: { // 控制标题的文字样式 color: 'blue' } }, series: [ { type: 'pie', data: pieData, label: { show: true, formatter: function (arg) { console.log(arg) return arg.data.name + '\n' + arg.percent + '%' } }, selectedMode: 'multiple', // multiple 多选 single 单选 selectedOffset: 30,// 偏移距离 radius: ['50%', '80%'] } ] } mCharts.setOption(option) </script> </body> </html>
自适应
- 监听窗口大小变化事件
- 在事件处理函数中调用 ECharts 实例对象的 resize 即可
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>自适应</title> <!-- cdn方式 引入echarts.js文件 --> <script src="https://cdn.jsdelivr.net/npm/echarts@5.4.1/dist/echarts.min.js"></script> </head> <body> <!-- 准备一个呈现图表的盒子 --> <div id='app' style="height:600px"></div> <script> // 初始化echarts实例对象 var myCharts = echarts.init(document.getElementById('app')) // 准备数据 将type的值设置为bar var xDataArr = ['张三', '李四', '王五', '大明白', '小糊涂'] // x轴数据 var yDataArr = [88, 92, 63, 77, 94] // y轴数据 var option = { xAxis: { type: 'category', data: xDataArr }, yAxis: { type: 'value' }, series: [ { name: '分数', type: 'bar', // 图表类型 bar:柱状图 line:折线图 pie:饼图 data: yDataArr, markPoint: { // 标记最大最小值 data: [ {type: 'max', name: '最大值'}, {type: 'min', name: '最小值'} ] }, markLine: { data: [ { type: 'average', name: '平均值' } ] }, label: { show: true, // 柱状图显示数值 rotate: 30, // 值旋转角度 }, barWidth: '30%' // 柱的宽度 } ] } // 将配置项设置给echarts实例对象 myCharts.setOption(option) // 监听window大小变化的事件 window.onresize = function () { // 调用echarts示例对象的resize方法 myCharts.resize() } // window.onresize = myCharts.resize // 简单写法 </script> </body> </html>