创建自己的网站有什么用,手抄报模板网,最良心的网页传奇,安徽有几家做网站在之前的文章中#xff0c;我们深入学习ECharts特殊图表中的矩形树图以及Echarts中高级功能的多图表联动。想了解的朋友可以查看这篇文章。同时#xff0c;希望我的文章能帮助到你#xff0c;如果觉得我的文章写的不错#xff0c;请留下你宝贵的点赞#xff0c;谢谢。
数… 在之前的文章中我们深入学习ECharts特殊图表中的矩形树图以及Echarts中高级功能的多图表联动。想了解的朋友可以查看这篇文章。同时希望我的文章能帮助到你如果觉得我的文章写的不错请留下你宝贵的点赞谢谢。
数据可视化-ECharts Html项目实战11-CSDN博客文章浏览阅读2.3k次点赞60次收藏42次。今天的文章会带着大家深入学习ECharts特殊图表中的矩形树图以及Echarts中高级功能的多图表联动。希望我的文章能帮助到正在学习的你也欢迎各位来本篇文章下一起交流学习共同进步。https://blog.csdn.net/qq_49513817/article/details/137600956今天的文章会带着学习ECharts特殊图表设置中的ECharts动态主题切换和自定义ECharts主题。希望你能在本篇文章中有所收获。
目录
一、知识回顾
二、主题下载
官方主题
自定义主题
三、代码实现 一、知识回顾
在之前的文章中我们学习了矩形树图和多图表联动。
矩形树图的配置项我们有几点需要注意的 而它的效果是这样的 它的特点是拥有树形的结构是矩形的样式。是一种特殊的树状图用于表示树形数据结构如层次结构或分类信息。它以矩形的形式展现每个矩形代表树中的一个节点矩形的面积、颜色等属性可以表示节点的权重或其他重要信息。
多图表联动需要创建多个图表我今天的例子是如何创建两个图表的联动 在使用下面的配置项连接优化两个图表 复习完了现在开始今天的学习吧。
二、主题下载
首先我们要知道ECharts主题是指ECharts提供的一种数据可视化样式和风格的定制方式。ECharts是一款非常强大的数据可视化工具它支持自定义主题使得用户可以根据自己的需求来定制图表的样式和风格。
ECharts提供了多种主题可以满足不同的数据可视化需求。我们可以在ECharts的官网的编辑文件中进行主题配置配置完成后重命名并下载然后在需要的页面进行引入就可以正常使用了。
在ECharts中设置主题通常涉及到初始化echarts实例对象并将配置项设置给该实例对象其中包括指定主题。
官方主题
我们先将ECharts提供的6个主题下载下来。官方下载地址
主题下载 - Apache ECharts 直接点击图片全部下载。 全部放到我们的js文件夹中这样就完成了
自定义主题
现在我们来看看我们的自定义主题。 ECharts官网提供了非常丰富的自定义主题 从基本配置、映射、坐标轴到各个图表的配置都可以根据自己的喜好自定义设置。 设置完成下载同样放入我们的js文件夹即可
三、代码实现
首先我们要插入我们的主题
headmeta charsetutf-8script typetext/javascript srcjs/echarts.js/scriptscript srcjs/dark.js/scriptscript srcjs/infographic.js/scriptscript srcjs/macarons.js/scriptscript srcjs/roma.js/scriptscript srcjs/shine.js/scriptscript srcjs/vintage.js/scriptscript srcjs/jquery-3.3.1.js/script
/head注意jquery.js文化是不可少的我会以附件的形式上传到文章中
然后设置一个一个可下拉的列表绑定我们的主题以便于切换 divselect idselection namethemeoption valuedarkdark/optionoption valueinfographicinfographic/optionoption valuemacaronsmacarons/optionoption valueromaroma/optionoption valueshineshine/optionoption valuevintagevintage/option/select/div
最后我们需要调用我们的主题创建新的实例 myChart.setOption(option); $(#selection).change(function() { var themeName $(this).val(); if (themeName default) { myChart.setOption(option); } else { myChart.dispose(); myChart echarts.init(document.getElementById(main), themeName); myChart.setOption(option); myChart.resize(); }});
完整代码
!DOCTYPE html
htmlheadmeta charsetutf-8script typetext/javascript srcjs/echarts.js/scriptscript srcjs/dark.js/scriptscript srcjs/infographic.js/scriptscript srcjs/macarons.js/scriptscript srcjs/roma.js/scriptscript srcjs/shine.js/scriptscript srcjs/vintage.js/scriptscript srcjs/jquery-3.3.1.js/script
/headbodydivlabel主题切换/label/divdivselect idselection namethemeoption valuedarkdark/optionoption valueinfographicinfographic/optionoption valuemacaronsmacarons/optionoption valueromaroma/optionoption valueshineshine/optionoption valuevintagevintage/option/select/divdiv idmain stylewidth: 800px; height: 600px/divscript typetext/javascript// 基于准备好的dom初始化ECharts图表var myChart echarts.init(document.getElementById(main));var option { // 指定图表的配置项和数据tooltip: {trigger: axis},legend: {data: [降水量, 蒸发量, 温度],left: center,top: 12},xAxis: [{type: category,data: [1月, 2月, 3月, 4月, 5月, 6月,7月, 8月, 9月, 10月, 11月, 12月]}],yAxis: [{ // 设置2个Y轴之1降水量、蒸发量type: value,name: 水量,min: 0,max: 200,interval: 50,axisLabel: {formatter: {value} ml}},{ // 设置2个Y轴之2温度type: value,name: 温度,min: 0,max: 30,position: right, // 设置y轴安置的位置offset: 0, // 设置向右偏移的距离axisLabel: {formatter: {value} °C}}],series: [{name: 降水量,type: bar,data: [2.6, 5.9, 9, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6, 2.3]},{name: 蒸发量,type: bar,data: [2, 4.9, 7, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20, 6.4, 3.3]},{name: 温度,type: line,yAxisIndex: 1, //指定使用第2个y轴data: [2, 2.2, 3.3, 4.5, 6.3, 10.2, 20.3, 23.4, 23, 16.5, 12, 6.2]}]};myChart.setOption(option); $(#selection).change(function() { var themeName $(this).val(); if (themeName default) { myChart.setOption(option); } else { myChart.dispose(); myChart echarts.init(document.getElementById(main), themeName); myChart.setOption(option); myChart.resize(); }}); /script
/body
/html
在其中
$(#selection).change(function() {为上面的selection一个可下拉的列表绑定一个事件监听器在改变它时会更改相应的值var themeName $(this).val() .val获取this也就是selection的值赋给themeName if (themeName default) { 检查 themeName 是否等于字符串 defaultmyChart.setOption(option) 如果为default就正常使用原始的option对象myChart.dispose(); 销毁现有实例myChart echarts.init(document.getElementById(main), themeName) //使用指定的 themeName 初始化一个新的 ECharts 实例并将其赋值给 myChart 变量。document.getElementById(main) 获取页面上 ID 为 main 的元素 myChart.setOption(option) 为新创建的 myChart 实例设置配置选项myChart.resize()调整实例大小自适应容器
设置完成后就可以通过我们的下拉列表选择主题了 至此我们的动态主题切换和自定义ECharts主题就学习完毕。