Echart的使用legend遇到的问题小记
Echart的图标真的很漂亮,使用也相对简单。但是官网的配置项的例子感觉有所保留。
在作柱状图的时候,我是通过Ajax动态获取的数据,但是图例legend就是不显示出来,其实到现在我也还没弄明白,为啥不显示。
下面贴一下我百度的可能的方案(这些都没有解决我的问题):
- echart.js下的精简版,不支持图例 --可以自定义下载对应的组件;
- legend的data数据需要是对象数组,自行检查是否符合;
下面贴一下我动态数据的实例:
Ajax获取值:
$(document).ready(function(){
var xData = [],yData=[];
$.ajax({
type: 'post',
url: '',
data:{},
dataType: 'json',
success: function(data){
if(data){
$.each(data,function(index,item){
xData.push(item.subject);
yData.push(item.count);
});
bindData(xData,yData);
}
},
error: function(){
alert('Error');
}
});
});
数据传值给data:
function bindData(xData,yData){
var chart = document.getElementById('bar');
var myBarChart = echarts.init(chart);
var option = {
title : {
text: '培训主题统计信息',
x: 'center',
},
tooltip : {
trigger: 'axis',
axisPointer : {
type : 'shadow'
}
},
legend: {
show: true,
data: (function(){
var res = [];
var len = xData.length;
for(var i=0,size=len;i<size;i++) {
res.push({
name: xData[i],
textStyle:{
fontSize: 12,
color: '#ccc'
}
});
}
return res;
})()
},
toolbox: {
show : true,
feature : {
mark : {show: true},
dataView : {show: true, readOnly: false},
magicType : {show: true, type: ['line', 'bar']},
restore : {show: true},
saveAsImage : {show: true}
}
},
calculable : true,
xAxis : [
{
type : 'category',
data: xData,
axisLabel: {
interval : 0,
rotate: -15
},
axisTick: {
alignWithLabel: true
}
}
],
yAxis : [
{
type : 'value'
}
],
series : [
{
name: '培训主题选择人数',
type:'bar',
data: yData,
barWidth: '50%',
markLine : {
data : [
{
type : 'max',
name: '最大值',
lineStyle: {
color: '#f00'
}
}
],
label : {
position: 'end',
formatter: '{b}:{c}'
}
},
itemStyle : {
normal: {
label: {
show: true,
textStyle: {
fontWeight: 'bolder',
fontSize: '12',
fontFamily: '微软雅黑'
},
position: 'top'
},
color: function (params) {
var colorList = [
'#FFB273', '#1D7373', '#BF7130', '#FF7400',
'#FF7373', '#006363'
];
return colorList[params.dataIndex]
}
}
}
}
]
};
myBarChart.setOption(option);
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】