关于echarts中折线图配置(设置折线的宽度,折线颜色渐变,折线上数字的颜色,以及不显示y轴,改变x轴的颜色等)

本文详细介绍了使用ECharts库在HTML页面中绘制平安指数趋势图的过程。包括设置图表尺寸、配置轴线样式、定义数据系列及实现响应式布局等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<style type="text/css">
    #trend {
        width: 700px;
        height: 500px;
    }
</style>
<body>
    <div id="trend">

    </div>
<script type="text/javascript" src="./js/echarts.js"></script>
<script type="text/javascript">
    let this_ = this;
            //折线
            let myTrend = echarts.init(document.getElementById('trend'));
            var optionTrend = {
                title: {
                        text: '平安指数趋势',
                        x: 'center',
                        // y: '10%',
                        textStyle:{                  //标题样式
                        fontSize: '18',
                        fontFamily:'FZLTZCHK--GBK1-0',
                        color:'rgba(255,255,255,1)',
                        }
                },
                xAxis: {
                    type: 'category',
                    boundaryGap: false,
                    data: ['1月','2月','3月'],
                    axisTick:{       
                        "show":false   //去掉x轴刻度线
                    },
                    axisLabel: {
                        color: "#BACCF4"  //坐标轴的文本颜色
                    }
                },
                yAxis: {
                    type: 'value',
                    splitLine: {           //分割线
                        show: true,     //控制分割线是否显示
                        lineStyle:{       //分割线的样式
                            color: ['rgba(43,70,126,1)'],
                            width: 2,
                            type: 'solid'
                        }
                  },
                    axisLine: {       //y轴不显示
                        "show":false
                    },
                    axisTick:{       //y轴刻度线不显示
                        "show":false
                    },
                    axisLabel: {
                        color: "#BACCF4", //刻度线标签颜色
                        fontSize : 14
                    }
                },
                grid: {          //设置图表显示在区域的哪个位置,控制图表的位置,可以是具体数值或者百分比
                    left: '67px',
                    right: '100px',
                    bottom: '10%',
                    containLabel: true,   //containLabel(grid 区域是否包含坐标轴的刻度标签,默认不包含)为true的情况下,无法使图表紧贴着画布显示,但可以防止标签标签长度动态变化时溢出容器或者覆盖其他组件,将containLabel设置为false即可解决
                },
                tooltip: {
                    trigger: 'axis'
                },
                color:'#0B1D56',        
                series: [{
                    "data": [10,24,57],
                    type: 'line',
                    smooth: true,  //设置折线为圆滑曲线,false则有转折点
                    // symbol: "none",   //默认显示折点,为none时不显示
                    areaStyle: {
                        color: 'rgba(46,82,212,0.2)'    //折线区域的背景颜色
                    },
                    label: {
                        normal: {
                            show: true,
                        }
                    },
                    itemStyle: {
                        normal: {
                            color: '#fff',
                            fontSize: 14,
                            lineStyle:{
                                width:3, //折线宽度

                              //折线颜色渐变
                                color: new echarts.graphic.LinearGradient(0, 0, 1, 0, [{
                                offset: 0,
                                color: 'rgba(45,105,249,1)'
                                }, 
                                {
                                    offset: 1,
                                    color: 'rgba(89,205,253,1)'
                                }])
                            }
                        },
                        emphasis: {   //鼠标经过时折点小圆圈样式
                        borderColor: 'rgba(0,196,132,0.2)',
                        borderWidth: 10
                        }
                    },
                }]
            };
         myTrend.setOption(optionTrend);
         window.addEventListener('resize',function() {myTrend.resize()});
</script>
</body>
</html>

效果如下:

补充,网格线虚线显示

yAxis: {
    splitLine :{    //网格线
        lineStyle:{
            type:'dashed'    //设置网格线类型 dotted:虚线   solid:实线
        },
        show:true //隐藏或显示
    }
}

效果如图:

### 如何在 ECharts 折线图中根据 Y 数值范围设置颜色 要在 ECharts折线图中实现根据同 Y 数值范围动态设置同的颜色,可以通过 `series` 中的 `lineStyle.color` 属性配合渐变色或者分段函数来完成。以下是具体方法: #### 方法一:通过渐变色实现 ECharts 支持定义渐变色作为线条的颜色属性。可以利用 `visualMap` 组件指定数据映射规则,并结合渐变效果展示。 ```javascript option = { visualMap: [{ show: false, min: 0, max: 100, dimension: 1, // 映射维度,默认为 series 数据的第一个维度 (即 y 值) inRange: { color: ['#d94e53','#ea7e53','#eeb44c','#f0dc82'] // 定义多个颜色区间 } }], xAxis: { type: 'category', data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] }, yAxis: { type: 'value' }, series: [{ data: [12, 34, 56, 78, 90, 23, 45], type: 'line', lineStyle: { width: 4 } }] }; ``` 上述代码中,`visualMap` 使用了隐藏模式 (`show: false`)设置了最大值和最小值以及对应的渐变颜色[^2]。 --- #### 方法二:通过分段函数实现 如果希望更精确地控制每一段的颜色,则可以使用 `piecewise` 类型的 `visualMap` 或者直接修改 `data` 来区分颜色区域。 ##### 示例代码: ```javascript option = { visualMap: { show: true, // 可视化组件是否可见 pieces: [ {min: 90, color: '#FF0000'}, // 大于等于 90 的部分红色 {max: 89, min: 50, color: '#FFFF00'}, // 介于 50 和 89 的黄色 {max: 49, color: '#00FF00'} // 小于等于 49 的绿色 ], orient: 'horizontal', // 方向 left: 'center' // 对齐方式 }, xAxis: { type: 'category', boundaryGap: false, data: ['周一','周二','周三','周四','周五','周六','周日'] }, yAxis: { type: 'value' }, series: [{ name:'销量', type:'line', smooth:true, data:[20, 49, 70, 23, 25, 100, 10] }] }; ``` 此示例展示了如何通过 `pieces` 参数手动划分颜色区间的逻辑[^4]。 --- #### 方法三:自定义渲染器 对于更加复杂的场景,还可以借助 ECharts 提供的扩展功能来自定义渲染器。这种方式灵活性更高但也更为复杂,通常用于特殊需求下的高级定制[^5]。 --- ### 总结 以上三种方案分别适合同程度的需求: - **简单渐变**:当只需要平滑过渡的效果时推荐使用 Method One; - **固定分区着色**:Method Two 更加直观易懂,在业务逻辑明确的情况下尤为适用; - **高度个性化设计**:则需考虑采用第三种方式进行深入开发。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值