function sspPolymerizationEcharts() {
const chartDom = document.getElementById('main');
const myChart = echarts.init(chartDom);
// 从 allData 获取数据
const data = allData.value;
// 提取数据列
const datelist = data.map(item => item.date);
const reqCount = data.map(item => item.advReq);
const respCount = data.map(item => item.advResp);
const respRate = data.map(item => item.respRate);
const impCount = data.map(item => item.imp);
const impRate = data.map(item => item.impRate);
const clkCount = data.map(item => item.clk);
const clkRate = data.map(item => item.clkRate);
const advBidfloorCount = data.map(item => item.advBidfloor);
const ecpmCount = data.map(item => item.cpm);
// 生成系列数据
const seriesData = [
{ data: reqCount, name: '请求' },
{ data: respCount, name: '填充' },
{ data: respRate, name: '填充率%' },
{ data: impCount, name: '展示' },
{ data: impRate, name: '展现率%' },
{ data: clkCount, name: '点击' },
{ data: clkRate, name: '点击率%' },
{ data: advBidfloorCount, name: '收入(元)' },
{ data: ecpmCount, name: 'CPM(元)' }
].map(item => ({
...item,
type: 'line',
smooth: true
}));
// 配置项
const option = {
legend: {
icon: 'circle',
itemWidth: 10,
itemHeight: 10,
y: 'bottom',
data: seriesData.map(item => item.name)
},
xAxis: {
type: 'category',
boundaryGap: false,
data: datelist
},
yAxis: {
type: 'value'
},
tooltip: {
trigger: 'axis'
},
series: seriesData
};
// 设置图表选项
myChart.setOption(option);
}
点击查看代码
function sspPolymerizationEcharts() {
const chartDom = document.getElementById('main');
const myChart = echarts.init(chartDom);
// 从 allData 获取数据
const data = allData.value;
// 提取数据列
const datelist = data.map(item => item.date);
const reqCount = data.map(item => item.advReq);
const respCount = data.map(item => item.advResp);
const respRate = data.map(item => item.respRate);
const impCount = data.map(item => item.imp);
const impRate = data.map(item => item.impRate);
const clkCount = data.map(item => item.clk);
const clkRate = data.map(item => item.clkRate);
const advBidfloorCount = data.map(item => item.advBidfloor);
const ecpmCount = data.map(item => item.cpm);
// 生成系列数据
const seriesData = [
{ data: reqCount, name: '请求' },
{ data: respCount, name: '填充' },
{ data: respRate, name: '填充率%' },
{ data: impCount, name: '展示' },
{ data: impRate, name: '展现率%' },
{ data: clkCount, name: '点击' },
{ data: clkRate, name: '点击率%' },
{ data: advBidfloorCount, name: '收入(元)' },
{ data: ecpmCount, name: 'CPM(元)' }
].map(item => ({
...item,
type: 'line',
smooth: true
}));
// 配置项
const option = {
legend: {
icon: 'circle',
itemWidth: 10,
itemHeight: 10,
y: 'bottom',
data: seriesData.map(item => item.name)
},
xAxis: {
type: 'category',
boundaryGap: false,
data: datelist
},
yAxis: {
type: 'value'
},
tooltip: {
trigger: 'axis'
},
series: seriesData
};
// 设置图表选项
myChart.setOption(option);
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现