设置echarts相关样式(包括动态传值,动态获取坐标轴上最大值及间距等)

最近利用echarts画图,总结了一些常见的样式修改,以及动态传值等知识点:

// 动态传值,可从后台获取数据赋值
var xAxisData = ['1月', '2月', '3月', '4月', '5月', '6月'];
var yAxisDataBar = [122, 300, 600, 100, 900, 540];
var data:yAxisDataLine = [1, 23, 22, 10, 7, 0];
var myEcharts = echarts.init(document.getElementById("echarts"));   //初始化
	    var option = {
		legend: {
			data: ['订单数','付款数']
		},
		xAxis: [{
			type:'category',
            boundaryGap : false,   // 设置x轴数据从坐标轴顶头开始(即xy轴交界处0开始)
			data: xAxisData,   // 动态传值
			axisPointer:{
				type:'shadow'
			},
			axisLabel : {
				textStyle: {color: "#656565"},    // 设置坐标值颜色
				interval: xAxisData.length/10,    // 设置坐标轴值刻度间隔显示
			},
			axisLine: {
                show: false,   // 控制坐标轴是否显示
                lineStyle: {
                    width:3,   //这里是坐标轴的宽度,可以去掉
                }
            },
			axisTick: {show: false},   // 去除坐标轴上的刻度线
            splitLine: {
                 show: false,           //  控制网格线是否显示
                 lineStyle: {          // 改变网格线颜色
                      color: ['red']
                 }                            
            },
		}],
		yAxis: [{
			type:'value',
			min: 0,
			max: Math.ceil(Math.max.apply(null, yAxisDataBar)),       // 可根据传入数据,动态获取最大值,且向上取整
			interval: Math.ceil(Math.max.apply(null, yAxisDataBar))/5,   // 可根据传入数据,动态获取间隔(此处除以5默认设置y轴数值间隔5段)
			axisLabel: {
				textStyle: {color: "#656565"},    // 设置坐标值颜色
				formatter: '{value}'
			},
			axisLine: {show: false},   // 控制坐标轴是否显示
			axisTick: {show: false}   // 去除坐标轴上的刻度线
		},{
			type:'value',
			min: 0,
			max: 30,   // 同上,也可动态获取最大值
			interval: 5,   // 同上,也可动态获取y轴间距
			axisLabel: {
				textStyle: {color: "#656565"},    // 设置坐标值颜色
				formatter: '{value}'
			},
			splitLine: {show: false},   // 控制网格线是否显示
			axisLine: {show: false},   // 控制坐标轴是否显示
			axisTick: {show: false}   // 去除坐标轴上的刻度线
		}],
		series: [{
			name:'订单数',
			type:'bar',
			itemStyle:{
				normal:{color:'#a8e1d6'}
			},
			data: yAxisDataBar   // 动态传值
		},{
			name:'付款数',
			type:'line',
			yAxisIndex: 1,   // 定义付款数的数据置于y轴右侧
			itemStyle:{
				normal:{color:'#2384c6'}
			},
			data:yAxisDataLine,   // 动态传值
			areaStyle: {
				normal: {
					color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
						offset: 0,
						color: 'rgba(205, 228, 242, 0.6)'
					}, {
						offset: 1,
						color: 'rgba(205, 228, 242, 0.6)'
					}])
				}
			}
		}]
	};
	chartContainer.setOption(option);

其中:

1. Math.max.apply(null, yAxisDataBar)  用于获取数组 yAxisDataBar 最大值,Math.min.apply(null, yAxisDataBar)  用于获取数组 yAxisDataBar 最小值,可用于不确定数据最大值时根据数据动态展示坐标轴数值。

 2.此份demo为y轴两侧都有数据,如需只保留一侧数据,则注意对应删除以下三个地方数据:

     (1) legend 中的 data 数组;

     (2) yAxis 中对应你想删除的y轴数据

     (3) series 中对应你想删除的数据, 此处注意,留下的一组中不能带有 yAxisIndex 属性,否则图表不会展示

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陌盍

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值