先放个效果图

const resData = [
{ label: "上海", value: 66 },
{ label: "北京", value: 26 },
{ label: "苏州", value: 35 },
{ label: "杭州", value: 56 },
{ label: "无锡", value: 76 },
{ label: "哈尔滨", value: 54 },
{ label: "济南", value: 10 },
{ label: "石家庄", value: 20 },
{ label: "郑州", value: 80 },
{ label: "南京", value: 48 },
];
// 取最大值 (数据的最大值或根据项目实际情况)
const maxValueData = [100, 100, 100, 100, 100, 100, 100, 100, 100, 100];
option = {
title: {
text: '',
},
xAxis: {
type: 'category',
inverse: true,
offset: 20,
axisLabel: {
show: true,
interval: 'auto',
color: 'rgb(106, 148, 255)',
},
axisLine: {
show: false,
},
axisTick: {
show: false,
},
data: resData.map((item) => {
return item.label;
}),
},
yAxis: {
type: 'value',
offset: 30,
axisLine: {
show: true,
lineStyle: {
color: 'rgb(106, 148, 255)',
},
},
splitLine: {
show: false,
},
axisTick: {
show: true,
inside: true,
length: 10,
},
axisLabel: {
show: true,
interval: 'auto',
formatter: '{value}',
},
},
series: [
{
// 上半截柱子(背部阴影bar)
name: '2019',
type: 'bar',
barWidth: '30',
barGap: '-100%',
z: 0,
itemStyle: {
//lenged文本
opacity: 1,
color: function (params) {
return new echarts.graphic.LinearGradient(0,0,1, 0,
[
{
offset: 0,
color: 'rgba(207, 235, 255)', // 0% 处的颜色
},
{
offset: 1,
color: 'rgba(228, 242, 255)', // 100% 处的颜色
},
],
false
);
},
},
data: maxValueData,
},
{
///最顶部圆片(背部阴影最顶部圆片)
name: '',
type: 'pictorialBar',
symbolSize: [30,10],
symbolOffset: [0, -5],
z: 3,
symbolPosition: 'end',
itemStyle: {
color: 'rgb(174, 222, 255)',
opacity: 1,
},
data: maxValueData,
},
{
//数据柱子 (蓝色柱子)
name: '2020',
type: 'bar',
barWidth: 30,
barGap: '-100%',
itemStyle: {
//lenged文本
opacity: 1,
color: function (params) {
return new echarts.graphic.LinearGradient( 0,0,1,0,
[
{
offset: 0,
color: 'rgba(0, 111, 255)', // 0% 处的颜色
},
{
offset: 1,
color: 'rgba(29, 227, 255)', // 100% 处的颜色
},
],
false
);
},
},
data: resData.map((item) => {
return item.value;
}),
},
{
//数据圆片(蓝色柱子的顶部圆片)
name: '',
type: 'pictorialBar',
symbolSize: [30, 10],
symbolOffset: [0, -5],
z: 3,
itemStyle: {
opacity: 1,
color: 'rgb(27, 140, 255)'
},
symbolPosition: 'end',
data: resData.map((item) => {
return item.value;
}),
// 柱子顶部显示值
// label: {
// show: true,
// position: 'top',
// distance: 0,
// formatter: '{c}'
// }, },
{
//最底部圆片
name: '',
type: 'pictorialBar',
symbolSize: [30, 10], //圆片的形状大小
symbolOffset: [0, 3], //圆片的偏移量
z: 3,
itemStyle: {
opacity: 1,
color: 'rgb(0, 111, 255)'
//color: '#000'
},
symbolPosition: 'end',
data: [1, 1, 1, 1, 1,1, 1, 1, 1, 1],
},
],
};

最新文章

  1. js正则匹配过滤 特殊字符
  2. BZOJ 3144 [Hnoi2013]切糕 ——网络流
  3. sprint3
  4. python tips(持续更新)
  5. linux清理内存命令
  6. mof提权带回显带清楚命令版本.php
  7. Javascript -- toFixed()函数
  8. 【锋利的jQuery】学习笔记02
  9. ThinkPHP 笔记
  10. python【第九篇】多线程、多进程
  11. Entify Framewrok - Join的使用方法
  12. web前端面试集锦(自己搜集的,如有错误请不吝赐教)
  13. [数字图像处理]常见噪声的分类与Matlab实现
  14. 使用CSS画图之三角形(一)
  15. ccf 201903-5 317任务
  16. c# Lamdba及DataTable AsEnumerable()的使用
  17. MyBatis-Configuration
  18. mysql 查看建表语句
  19. 洗礼灵魂,修炼python(25)--自定义函数(6)—从匿名函数进阶话题讲解中解析“函数式编程”
  20. 无用之flask

热门文章

  1. 关于Git在Visual studio及Git Bush中的日常操作教程,有图有说明,会一直更新本页内容... (Git相对SVN具有更加安全的分布式存储, 分支版本之间切换秒级速度, 分支版本强大灵活等特点)
  2. [机器学习] sklearn支持向量机
  3. 模型驱动设计的构造块(下)——DDD
  4. 基于Linux下的Ubuntu操作系统常用命令
  5. uniapp小程序使用高德地图api实现路线规划
  6. Java基础篇——集合框架
  7. 数据结构与算法 -> 大顶堆与小顶堆
  8. Vue+elementui前后端分离,单个图片文件上传和上传时出现的跨域问题的解决方案
  9. 代码小DEMO随笔---不经过后端接口,JS上传文件读取文件,展示到页面提供下载功能
  10. 黏包现象、struct模块、并行与并发