您的位置:首页 > 新闻 > 会展 > 福州网签_南平网站建设公司_外贸高端网站设计公司_百度快照投诉

福州网签_南平网站建设公司_外贸高端网站设计公司_百度快照投诉

2024/12/21 22:48:00 来源:https://blog.csdn.net/m0_70405779/article/details/142618492  浏览:    关键词:福州网签_南平网站建设公司_外贸高端网站设计公司_百度快照投诉
福州网签_南平网站建设公司_外贸高端网站设计公司_百度快照投诉

栏目二:Echart绘制动态折线图+柱状图

配置了一个ECharts图表,该图表集成了数据区域缩放、双Y轴显示及多种图表类型(折线图、柱状图、象形柱图)。图表通过X轴数据展示,支持平滑折线展示比率数据并自动添加百分比标识,柱状图以渐变色展示评论数量,而象形柱图则以矩形形式展示点赞数量,增强了视觉表现力。整体设计注重细节处理,如坐标轴指示器、数据点形状及标签格式化等,旨在为用户提供直观、丰富的数据可视化体验。

效果图:
在这里插入图片描述
核心代码:

let option = {  // 配置提示框组件  tooltip: {  trigger: 'axis', // 触发类型:坐标轴触发  axisPointer: {  type: 'shadow', // 坐标轴指示器类型为阴影  label: {  show: true, // 显示坐标轴指示器的标签  backgroundColor: '#333' // 标签的背景色  }  },  // 这里有一个被注释掉的 formatter 配置,用于自定义提示框内容  // ...(formatter 配置被省略)  },  // 配置数据区域缩放组件  dataZoom: {  type: 'inside', // 缩放组件类型:内置在坐标系中  start: 0, // 初始时,数据窗口的起始百分比  end: 95 // 初始时,数据窗口的结束百分比  },  // 配置 X 轴  xAxis: {  data: x, // X 轴数据  axisLine: {  lineStyle: {  color: "#ccc" // X 轴线的颜色  }  },  show: true // 显示 X 轴  },  // 配置 Y 轴,这里配置了两个 Y 轴  yAxis: [{  splitLine: { show: false }, // 不显示分割线  axisLine: {  lineStyle: {  color: "#ccc" // Y 轴线的颜色  }  },  name: "赞评数量" // Y 轴名称  }, {  // 第二个 Y 轴的配置  splitLine: { show: false },  axisLine: {  lineStyle: {  color: "#ccc"  }  },  name: "比率/%", // Y 轴名称  axisLabel: {  formatter: '{value} %' // Y 轴标签格式化,添加百分比符号  }  }],  // 配置多个系列  series: [{  name: '比率',  type: 'line', // 类型为折线图  smooth: true, // 线条平滑  showAllSymbol: true, // 显示所有数据点  symbol: 'emptyCircle', // 数据点形状  symbolSize: 15, // 数据点大小  yAxisIndex: 1, // 使用第二个 Y 轴  data: y3, // 数据  // 为该系列的 tooltip 自定义显示  tooltip: {  valueFormatter: function (value) {  return value + '%'; // 为 tooltip 值添加百分比符号  }  }  }, {  name: '评论',  type: 'bar', // 类型为柱状图  barWidth: 30, // 柱状图的宽度  itemStyle: {  normal: {  barBorderRadius: 5, // 柱子的圆角  color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [  // 渐变色配置  { offset: 0, color: '#a85d74' },  { offset: 1, color: '#8f5d6c' }  ])  }  },  data: y2 // 数据  }, {  name: '点赞',  type: 'pictorialBar', // 类型为象形柱图  symbol: 'rect', // 形状为矩形  itemStyle: {  normal: {  color: '#279418' // 颜色  }  },  symbolRepeat: true, // 是否重复显示形状  symbolSize: [30, 4], // 形状大小  symbolMargin: 1, // 形状间的间隔  z: -10, // 系列的堆叠顺序  data: y1 // 数据  }]  
};

具体代码如下:

<!-- 第二章:折线图+柱状图+动画 -->
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><!-- 为 ECharts 准备一个定义了宽高的 DOM --><div id="main" style="width: 600px;height:400px;"></div>
</body>
<script src="../js/echarts.min.js"></script>
<script>let x = ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'];let y2 = [586, 548, 456, 845, 345, 234, 584, 734, 645, 456, 567, 678];let y3 = [0.5753, 0.2768, 0.7575, 0.6445, 0.3534, 0.4435, 0.6435, 0.3587, 0.4845, 0.6135, 0.4748, 0.6575];let y1 = y2.map(function (item, index) {return Math.round(item / y3[index]);});y3 = y3.map(function (item) {// 保留两位小数return parseFloat((item * 100).toFixed(2));});function changeData(list) {let tmp = list[0]for (let i = 0; i < list.length-1; i++) {list[i] = list[i+1];}list[list.length - 1] = tmp;}function circleCharts(x,y1,y2,y3) {var chartDom = document.getElementById('main');var myChart = echarts.init(chartDom);let option = {  // 配置提示框组件  tooltip: {  trigger: 'axis', // 触发类型:坐标轴触发  axisPointer: {  type: 'shadow', // 坐标轴指示器类型为阴影  label: {  show: true, // 显示坐标轴指示器的标签  backgroundColor: '#333' // 标签的背景色  }  },  // 这里有一个被注释掉的 formatter 配置,用于自定义提示框内容  // ...(formatter 配置被省略)  },  // 配置数据区域缩放组件  dataZoom: {  type: 'inside', // 缩放组件类型:内置在坐标系中  start: 0, // 初始时,数据窗口的起始百分比  end: 95 // 初始时,数据窗口的结束百分比  },  // 配置 X 轴  xAxis: {  data: x, // X 轴数据  axisLine: {  lineStyle: {  color: "#ccc" // X 轴线的颜色  }  },  show: true // 显示 X 轴  },  // 配置 Y 轴,这里配置了两个 Y 轴  yAxis: [{  splitLine: { show: false }, // 不显示分割线  axisLine: {  lineStyle: {  color: "#ccc" // Y 轴线的颜色  }  },  name: "赞评数量" // Y 轴名称  }, {  // 第二个 Y 轴的配置  splitLine: { show: false },  axisLine: {  lineStyle: {  color: "#ccc"  }  },  name: "比率/%", // Y 轴名称  axisLabel: {  formatter: '{value} %' // Y 轴标签格式化,添加百分比符号  }  }],  // 配置多个系列  series: [{  name: '比率',  type: 'line', // 类型为折线图  smooth: true, // 线条平滑  showAllSymbol: true, // 显示所有数据点  symbol: 'emptyCircle', // 数据点形状  symbolSize: 15, // 数据点大小  yAxisIndex: 1, // 使用第二个 Y 轴  data: y3, // 数据  // 为该系列的 tooltip 自定义显示  tooltip: {  valueFormatter: function (value) {  return value + '%'; // 为 tooltip 值添加百分比符号  }  }  }, {  name: '评论',  type: 'bar', // 类型为柱状图  barWidth: 30, // 柱状图的宽度  itemStyle: {  normal: {  barBorderRadius: 5, // 柱子的圆角  color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [  // 渐变色配置  { offset: 0, color: '#a85d74' },  { offset: 1, color: '#8f5d6c' }  ])  }  },  data: y2 // 数据  }, {  name: '点赞',  type: 'pictorialBar', // 类型为象形柱图  symbol: 'rect', // 形状为矩形  itemStyle: {  normal: {  color: '#279418' // 颜色  }  },  symbolRepeat: true, // 是否重复显示形状  symbolSize: [30, 4], // 形状大小  symbolMargin: 1, // 形状间的间隔  z: -10, // 系列的堆叠顺序  data: y1 // 数据  }]  };option && myChart.setOption(option);}setInterval(function () {circleCharts(x,y1,y2,y3);changeData(y2);changeData(y3);changeData(y1);changeData(x);}, 1500);
</script></html>

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com