将下面代码直接复制粘贴在此运行就能查看效果Apache ECharts,一款基于JavaScript的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。https://echarts.apache.org/examples/zh/editor.html?c=area-pieces&code=MYewdgzgLgBAtgTwMoAsCGAHApjAvDAbwCgYYAPALhgAYAaEmBKuhgdwEsATKFKgRgDMMAPTDAL6mBd2KIBfANxFRMQBt-gNiVAZ7qBy-UBG6UVCRYASTDAANuzBZOAJRAgAZgCE0AJzwwswdM6gQAdAHNnTBR2YF8sMigsME5UTCwACmJSCHRsKkQ47HpSACMAV3YTTgAFNB4qO3zjKHZwGATgKDJaGFT4gEpCBlJFYDQwADc0CEAYf_bsQHozQDm5YHzoEDhAAnlAU0VAELcemD1ocgBBMnYIEpBzWHwJrF8yfcPj0_lSUm3YYGo3AG0Lq9avhABdB6PZ5bPgfL5kGAAWhgfAA7D80pcEFCYdQAZtgcAAEwfa4HI4nMBQd5olFw1p426E4l8P7ox5bcA7YBCfDvSkE04kv4Um6convWn0oHNTakXxwECDLAAFRAjWo3Nar0Ffw6YpgvjMFjljT4SpBqvVDPF2tl8uxBsttONJq15nNjQEVudNo1vlMIAgWDKPASHUB0hkAaIHi8PgCQQwITCziw_kOUWcWUSAHIjKYHdZbI4XKnWhmzdn7E5nCGQBhavV8MkYLk0MAANaBEDVTgAYRAJhAzioqYAxHwsAJYQBWABs-YYoG7vZg7wHuSxsKwABZV6meQwoLYTLUMFRaykUCBWFQoM58lgco8L-x_P4sHPU2h8VOGa-qacn4eNVAEOkMCpu0nCnqmmzSDeTzgHYDrnpe16bFEkRIP-JhYL-JowHY4BQEg7AAF4YTCq4QVB2E9nA5RJlQCQYC4aBwBAXS4AAfN0WHDK4UAuG49FBEx3KAgyPCHL4rA9o2MoATg-A8c4vhgIxWDCY8cZQPkzhgDA8mKcpMAANRATAfaGUBAA8uTOMIrGpmZunDCYV6qUGpCQQw6GPjEmG3hWVCjuR7BRHAADqXAVDC46BcFAASWD3igUBUAAHOR6F2ElQHANESbvo89GcJw5j-Mw5HIXhaHEUeQJdj2fb9nYjV5QyOFEvhRH8Ku5GkAVRVgCV85Yq0dA0MNfxkZsnDlGgVALpwWCSnwfBYlim4MO5pCBFwPnQUSaDmAAMmguRYCY8FXmlWAZaVmy5CAUA7nAN0Mhw3C8EBfDUNQACkzUwCg8X-IlfbJaOv3rTeHI7TpMl9v0UT-D2CB_Z-EAHXBHEmqkp7nYhWFmqhCDodDL3he9fDdTVs59s4_i5AkWKjgFMCM8zrPDb4o4dOBWGuY8G2PKjR0nWdmMMtjZ46QhlPfs4jnPSazj3eUxECCwWHlYTxNiyaM51UBDVNZTpCtXhhHEctGp8255EQBgZhQOjFgk20J6S3YaAmN6lME5VLvQdTQG0_T7Ms0zrSh9QvgCNzxsw4BqZTaklh_aTb38FbE0fviMqhI2LsS5UnvelnjxTTxs1bgyBHodKoufRDDAIHy0P_gnjlXn9SlwMRqZ_XA5gK6QqO502Bdu0XXtYKXw_4sLp0u5rfs6wyevPobdip48pvtRbWKZwyAspPbQVO1VGqF1LF0ar7RPn1hAf66mwcM-HYds2_Ucx1vpBt73ScA04D_GAr0IpR1hAffm5EhYY2qseHG2Fi54xNLfbWcCqZPxfqOIaMJBAR1HNQbmkCbabG7rKCIFU74uzXvVRqm9KY73NvwccEFG4pCfOwLAEBZqbHQX_OG8xHpbzIX2eai1lqrRlsFLW98H53WcPNZwnZA6LmXGuDccd5GKLCunGEccaEGyXCudcwCwCUU9v7R4Winw6IinwDUbkraUzjDEJ8Bhgq0X4oxCArRMDsBYuxdBu0djdnhnUbS-A_EelsAohI7wokd0SIQ3xGB2C-ESQkPgHQ1SqVXkyWAZBQnlHCW4KJoAeycDiQkz2V4EjJJoDkhxMB1KaW0kE28sMgKFizDYEseY47HniJYj8qSBmPDIAANRqcRapTkkkdDGaQBAUy5lUFmbUrJizyBUCKVWMA3IzKfS2UwGAuzwmqi2RyO4RJZqFJAGE8AByjJHPIGcx5QomkkIfo8aAVCV4P1giYUWFhWDuE8C4CMgRgihF8GfFwABxIIRUcp1OGmivR85Pkmnad8-wdhvSZXVt8h-BiBwADEyW7GoKuVaWLD5bNIDih-eKCX8AZRg58wc0CoroLyohxKTTW2JWqLZ0AlaNl7v2Ix6iebEqFYfXJMAj5l2mpXGe_z-FAXrM4LeJhjoL3-aQMxzgqKiyZZfC818BUYC9EFcJfYdwYGAY_dejUvpfWdRRNqTCWZEtxY1Vl84upQk-lXYlOETXUR_NhaoTQSl0QYkxLoTLSDsDsA0LxTF0nTJgOxQhhqH4tK0jATNfhEmKt5u4KeBasJFu0n3CtgqsXyv5k4jU2rbHky6hqIKC0ZGWNJReAYdsXA5VlfSv8u59yWItQhNtWFy4zUGgATlaMlEaAhg3LlaEzcah8GDjTkLofJhA9j4h-BwrhSq3AVj2fIb0zhOEQAACLTQ-AwaqElnCNklPNB1FC-B_WypAeYnZqiZSxMuthOsv0_pAH-oC5VJEYmiBAUDrYbkwHXdBz9klf293KgIIDqH0PgaoJunDmxYP4f_ZEDRKGQMQDA5h5clGXp4fgwRiho5iOMeY5lJm60iDog5L4RdbgH1PtfTxCUmAEgJF7XAAJMBFPiQ4_NEMkmuHcjE2-84l6X3TVkxgeTinlOqeA2hpjGGoABiAA
const myShape = {x: 0,y: 0,width: 13 //间距
};
// 绘制左侧面
const InclinedRoofBar = echarts.graphic.extendShape({shape: myShape,buildPath: function (ctx, shape) {// canvas,shape是从custom传入的const xAxisPoint = shape.xAxisPoint;const c0 = [shape.x, shape.y];const c1 = [shape.x - 17, shape.y - 10];const c2 = [xAxisPoint[0] - 17, xAxisPoint[1]];const c3 = [xAxisPoint[0], xAxisPoint[1]];ctx.moveTo(c0[0], c0[1]).lineTo(c1[0], c1[1]).lineTo(c2[0], c2[1]).lineTo(c3[0], c3[1]).closePath();}
});
echarts.graphic.registerShape('InclinedRoofBar', InclinedRoofBar);
option = {backgroundColor: '#1e3756',color: ['#b27e44'],tooltip: {show: true,trigger: 'axis',axisPointer: {type: 'shadow'},confine: true,textStyle: {fontSize: 14},formatter: (params) => {var tar = params[0];this.workType = tar.name;return tar.name + ' : ' + '<br/>' + tar.value;}},legend: {top: 5,itemWidth: 16,itemHeight: 8,left: 'center',padding: 0,textStyle: {color: '#fff',fontSize: 14,padding: [2, 0, 0, 0]},data: ['demo1122']},grid: {containLabel: true,left: 0,bottom: 0,width: '100%',height: '85%'},xAxis: {type: 'category',axisLine: {show: true,lineStyle: {width: 1,color: 'rgb(255, 255, 255, 0.5)'}},axisLabel: {show: true,interval: 0,rotate: 30,textStyle: {color: '#fff',fontSize: 12}},splitLine: {show: false,lineStyle: {color: 'rgb(255, 255, 255, 0.3)',type: 'dashed',width: 1}},axisTick: {show: false},data: [],zlevel: 10},yAxis: {type: 'value',name: '',min: 0,axisTick: {show: false},axisLabel: {textStyle: {color: '#fff',fontSize: 12}},splitLine: {show: true,lineStyle: {color: 'rgb(255, 255, 255, 0.3)',type: 'dashed',width: 0.7}},axisLine: {show: false,lineStyle: {color: 'rgb(52, 113, 250)'}},nameTextStyle: {color: '#fff',fontSize: 16}},series: [{type: 'custom',name: 'demo1122',itemStyle: {borderColor: '#b27e44',borderWidth: 1,color: '#b27e44',normal: {borderWidth: 1}},renderItem: (params, api) => {const location = api.coord([api.value(0), api.value(1)]);const xlocation = api.coord([api.value(0), 0]);return {type: 'InclinedRoofBar',shape: {api,xValue: api.value(0),yValue: api.value(1),x: location[0] + 10,y: location[1],xAxisPoint: [xlocation[0] + 10, xlocation[1]]},style: {fill: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{offset: 0,color: '#FFA042'},{offset: 1,color: 'rgba(0,0,0,0)'}]),stroke: '#b27e44'}};},data: []},{type: 'bar',label: {normal: {show: true,position: 'top',color: '#ff0000',fontSize: 20,offset: [4, -10],formatter: function (params) {if (params.value > 0) {return params.value;} else {return '';}}}},barWidth: 14,itemStyle: {color: 'transparent'},tooltip: {show: true},data: [29, 80, 34, 27, 55]}]
};
const { xAxis, series } = option;
seriesData = [{workmode: 'text1',censusCount: 29},{workmode: 'text2',censusCount: 80},{workmode: 'text3',censusCount: 34},{workmode: 'text4',censusCount: 27},{workmode: 'text5',censusCount: 55}
];
xAxis.data = seriesData.map((item) => item.workmode);
series[0].data = seriesData.map((item) => item.censusCount);
在线链接(复制以下链接在新标签页打开,不要直接点):
https://echarts.apache.org/examples/zh/editor.html?c=area-pieces&code=MYewdgzgLgBAtgTwMoAsCGAHApjAvDAbwCgYYAPALhgAYAaEmBKuhgdwEsATKFKgRgDMMAPTDAL6mBd2KIBfANxFRMQBt-gNiVAZ7qBy-UBG6UVCRYASTDAANuzBZOAJRAgAZgCE0AJzwwswdM6gQAdAHNnTBR2YF8sMigsME5UTCwACmJSCHRsKkQ47HpSACMAV3YTTgAFNB4qO3zjKHZwGATgKDJaGFT4gEpCBlJFYDQwADc0CEAYf_bsQHozQDm5YHzoEDhAAnlAU0VAELcemD1ocgBBMnYIEpBzWHwJrF8yfcPj0_lSUm3YYGo3AG0Lq9avhABdB6PZ5bPgfL5kGAAWhgfAA7D80pcEFCYdQAZtgcAAEwfa4HI4nMBQd5olFw1p426E4l8P7ox5bcA7YBCfDvSkE04kv4Um6convWn0oHNTakXxwECDLAAFRAjWo3Nar0Ffw6YpgvjMFjljT4SpBqvVDPF2tl8uxBsttONJq15nNjQEVudNo1vlMIAgWDKPASHUB0hkAaIHi8PgCQQwITCziw_kOUWcWUSAHIjKYHdZbI4XKnWhmzdn7E5nCGQBhavV8MkYLk0MAANaBEDVTgAYRAJhAzioqYAxHwsAJYQBWABs-YYoG7vZg7wHuSxsKwABZV6meQwoLYTLUMFRaykUCBWFQoM58lgco8L-x_P4sHPU2h8VOGa-qacn4eNVAEOkMCpu0nCnqmmzSDeTzgHYDrnpe16bFEkRIP-JhYL-JowHY4BQEg7AAF4YTCq4QVB2E9nA5RJlQCQYC4aBwBAXS4AAfN0WHDK4UAuG49FBEx3KAgyPCHL4rA9o2MoATg-A8c4vhgIxWDCY8cZQPkzhgDA8mKcpMAANRATAfaGUBAA8uTOMIrGpmZunDCYV6qUGpCQQw6GPjEmG3hWVCjuR7BRHAADqXAVDC46BcFAASWD3igUBUAAHOR6F2ElQHANESbvo89GcJw5j-Mw5HIXhaHEUeQJdj2fb9nYjV5QyOFEvhRH8Ku5GkAVRVgCV85Yq0dA0MNfxkZsnDlGgVALpwWCSnwfBYlim4MO5pCBFwPnQUSaDmAAMmguRYCY8FXmlWAZaVmy5CAUA7nAN0Mhw3C8EBfDUNQACkzUwCg8X-IlfbJaOv3rTeHI7TpMl9v0UT-D2CB_Z-EAHXBHEmqkp7nYhWFmqhCDodDL3he9fDdTVs59s4_i5AkWKjgFMCM8zrPDb4o4dOBWGuY8G2PKjR0nWdmMMtjZ46QhlPfs4jnPSazj3eUxECCwWHlYTxNiyaM51UBDVNZTpCtXhhHEctGp8255EQBgZhQOjFgk20J6S3YaAmN6lME5VLvQdTQG0_T7Ms0zrSh9QvgCNzxsw4BqZTaklh_aTb38FbE0fviMqhI2LsS5UnvelnjxTTxs1bgyBHodKoufRDDAIHy0P_gnjlXn9SlwMRqZ_XA5gK6QqO502Bdu0XXtYKXw_4sLp0u5rfs6wyevPobdip48pvtRbWKZwyAspPbQVO1VGqF1LF0ar7RPn1hAf66mwcM-HYds2_Ucx1vpBt73ScA04D_GAr0IpR1hAffm5EhYY2qseHG2Fi54xNLfbWcCqZPxfqOIaMJBAR1HNQbmkCbabG7rKCIFU74uzXvVRqm9KY73NvwccEFG4pCfOwLAEBZqbHQX_OG8xHpbzIX2eai1lqrRlsFLW98H53WcPNZwnZA6LmXGuDccd5GKLCunGEccaEGyXCudcwCwCUU9v7R4Winw6IinwDUbkraUzjDEJ8Bhgq0X4oxCArRMDsBYuxdBu0djdnhnUbS-A_EelsAohI7wokd0SIQ3xGB2C-ESQkPgHQ1SqVXkyWAZBQnlHCW4KJoAeycDiQkz2V4EjJJoDkhxMB1KaW0kE28sMgKFizDYEseY47HniJYj8qSBmPDIAANRqcRapTkkkdDGaQBAUy5lUFmbUrJizyBUCKVWMA3IzKfS2UwGAuzwmqi2RyO4RJZqFJAGE8AByjJHPIGcx5QomkkIfo8aAVCV4P1giYUWFhWDuE8C4CMgRgihF8GfFwABxIIRUcp1OGmivR85Pkmnad8-wdhvSZXVt8h-BiBwADEyW7GoKuVaWLD5bNIDih-eKCX8AZRg58wc0CoroLyohxKTTW2JWqLZ0AlaNl7v2Ix6iebEqFYfXJMAj5l2mpXGe_z-FAXrM4LeJhjoL3-aQMxzgqKiyZZfC818BUYC9EFcJfYdwYGAY_dejUvpfWdRRNqTCWZEtxY1Vl84upQk-lXYlOETXUR_NhaoTQSl0QYkxLoTLSDsDsA0LxTF0nTJgOxQhhqH4tK0jATNfhEmKt5u4KeBasJFu0n3CtgqsXyv5k4jU2rbHky6hqIKC0ZGWNJReAYdsXA5VlfSv8u59yWItQhNtWFy4zUGgATlaMlEaAhg3LlaEzcah8GDjTkLofJhA9j4h-BwrhSq3AVj2fIb0zhOEQAACLTQ-AwaqElnCNklPNB1FC-B_WypAeYnZqiZSxMuthOsv0_pAH-oC5VJEYmiBAUDrYbkwHXdBz9klf293KgIIDqH0PgaoJunDmxYP4f_ZEDRKGQMQDA5h5clGXp4fgwRiho5iOMeY5lJm60iDog5L4RdbgH1PtfTxCUmAEgJF7XAAJMBFPiQ4_NEMkmuHcjE2-84l6X3TVkxgeTinlOqeA2hpjGGoABiAA