echarts 环图状按照顺时针颜色由深到浅

之前一直想玩echarts,但是需求一直没有,当然主要原因是我懒,所以就一直没去用过它,哎,我是一个不合格的前端,但绝对是一条够咸的咸鱼。。。刚好最近有了这么个需求,估计上天想帮我翻个身吧。。。

首先肯定就是先安装echarts了,这个相信大家闭着眼都会了

npm install echarts --save

然后在需要用到的地方,import或者require引入就可以啦

在这里插入图片描述
现在有个需求是这样的,显示数据为top10的省份,根据后端返回来的数组按顺序从深到浅的颜色展示出来,刚开始以为要一个一个写颜色值,因为颜值是通过给series里面的data传递一个数组去每一项设置的,像这样就可以实现:

<div class="my_echarts"></div>

const myEchart = echarts.init(document.querySelector('.my_echarts'))
myEchart.setOption({
	series:{
		type:'pie',
		label: {
              show: true,
              position: 'outside',
              formatter: '{b},{c}'
        },
        emphasis: {
            label: {
               show: true
            }
        },
        markLine: {
            silent: true
        },
		data:[
			{name:'广东',value:490,itemStyle:{color:'#c19100'}},
			{name:'广西',value:200,itemStyle:{color:'#c79c19'}},
			{name:'河南',value:200,itemStyle:{color:'#cda733'}},
			{name:'湖南',value:300,itemStyle:{color:'#d3b24c'}},
			{name:'湖北',value:380,itemStyle:{color:'#dabd66'}},
			{name:'福建',value:490,itemStyle:{color:'#e0c87f'}},
			{name:'云南',value:100,itemStyle:{color:'#e6d399'}},
			{name:'新疆',value:234,itemStyle:{color:'#ecdeb2'}},
			{name:'西藏',value:134,itemStyle:{color:'#f3e9cc'}},
			{name:'台湾',value:456,itemStyle:{color:'#f9f4e6'}}
		]
	}
})

虽然是可以实现了,但是我是个咸鱼啊,咸鱼怎么会一个个去取色值,再一个个写上去,这也太辛苦了吧,毕竟后端不会给我上面这个数组,他只会给我像这样:

list:[
	{name:'广东',value:490},
	{name:'广西',value:200},
	{name:'河南',value:200},
	{name:'湖南',value:300},
	{name:'湖北',value:380},
	{name:'福建',value:490},
	{name:'云南',value:100},
	{name:'新疆',value:234},
	{name:'西藏',value:134},
	{name:'台湾',value:456}
]

哎,愁啊,这个色值难道真的要我一个个写上去吗,天啊,这也太麻烦了吧。。。。

由深到浅由深到浅。。。。啊,既然只显示top10,也就是十个,那不就是一个深的颜色,然后透明度从1降到0.1就行了吗
对哦,哎,这该死的聪明才智,那就是拿后端传过来的数组遍历一下就可以了,把色值改成raba就可以设置透明度了,重新来:
先拿到颜色值,这个应该都知道怎么拿吧 拿最深颜色那个就可以啦 ==> rgba(193,145,0,1)
在这里插入图片描述

// 从后端拿到的list
list=[
	{name:'广东',value:490},
	{name:'广西',value:200},
	{name:'河南',value:200},
	{name:'湖南',value:300},
	{name:'湖北',value:380},
	{name:'福建',value:490},
	{name:'云南',value:100},
	{name:'新疆',value:234},
	{name:'西藏',value:134},
	{name:'台湾',value:456}
]

let data = [];
list.forEach((item,i) => {
	let obj = {};
	obj.itemStyle = {};
	obj.itemStyle.color = `rgba(193,145,0,${1 - i / 10})`;
	data.push(obj)
})

myEchart.setOption({
	series:{
		type:'pie',
		label: {
              show: true,
              position: 'outside',
              formatter: '{b},{c}'
        },
        emphasis: {
            label: {
               show: true
            }
        },
        markLine: {
            silent: true
        },
		data
	}
})

嗯…就很咸鱼…就很舒服…

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要更改echarts的形,你可以使用eCharts提供的series属性来实现。在series属性中,你可以修改柱的宽度、圆角和颜色。例如,你可以使用以下代码来修改柱的形颜色: series: \[{ name: '销量', type: 'bar', data: \[5, 20, 36, 10, 10, 20\], barWidth: 15, //柱宽度 itemStyle: { //柱颜色和圆角 color: '#F43368', barBorderRadius: \[5, 5, 0, 0\], // (顺时针左上,右上,右下,左下) }, }\] 这段代码中,barWidth属性用于设置柱的宽度,color属性用于设置柱颜色,barBorderRadius属性用于设置柱的圆角。你可以根据需要修改这些属性的值来改变柱的形。 #### 引用[.reference_title] - *1* *2* [01 【eCharts样式定制系列】柱修改柱颜色、柱等](https://blog.csdn.net/qq_35117024/article/details/103964352)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [echarts - 自定义形 - 实现立体柱](https://blog.csdn.net/qq_35432583/article/details/130658850)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值