首页 > 其他分享 >Echarts 的几个小需求实现

Echarts 的几个小需求实现

时间:2023-09-12 19:33:01浏览次数:31  
标签:需求 展示 几个 itemStyle batch borderWidth markPoint Echarts symbolSize

前端在图表展示的时候,使用较多的是Echart库,正好这几天在做相关的项目,简单记录一下涉及到的几个简单需求实现。

标题前面加图形

效果类似于这样:

image-20230912184801866

我的实现方案是使用 rich 来生成对应的图形,具体配置如下:

/** @format */

option = {
    title: {
        text: "{rectangle|} 示例图",
        textStyle: {
            fontSize: 18,
            rich: {
                // 这个地方的key要和上面text后大括号中的名称保持一致!!!
                rectangle: {
                    width: 40,
                    height: 18,
                    backgroundColor: "#7C260B"
                }
            }
        }
    }
};

上面配置需要注意的是 text 中的类似于模板字符串的写法,里面的竖线(|)不能少,如果少了它,那 rectangle 就被解析成一个字符串了。

配置显示的最大个数

假如我们的数据比较多,一次性全部展示出来的话会密密麻麻,用户体验不好,那我们就需要根据需要展示的总条数,计算出需要给用户展示出来的视图百分比范围。

需求:X 轴最多展示的数据不能超过 50 个。

方案:Echarts 的滚动是通过 dataZoom 属性来控制的,每次拿到数据后进行计算,以 50 为判断依据,看是否需要分部展示。

// total:总条数
// batch 允许最大显示的条数
function getDataZoomEndValue(total, batch) {
    return IControl.x.length > batch ? Math.ceil(batch * 100 / IControl.x.length) : 100;
}

/** @format */

option = {
    dataZoom: {
        type: "inside",
        start: 0,
        end: getDataZoomEndValue(totalData.length, 50),
        zoomLock: true
    }
};

end 属性确定的就是视图最大百分比。

设置异常点

需求效果如下:

image-20230912190055496

要将一些超出范围的点用不同的颜色标志出来。

方案:使用markPoint属性实现,即在需要标志出来的点上再加一层特殊颜色的点,展示出来的是特殊颜色。

/** @format */

markPointData = [
    {
        name: "order_6",
        xAxis: "6",
        yAxis: 1.812
    },
    {
        name: "order_9",
        xAxis: "9",
        yAxis: 1.2
    }
];

option = {
    series: [
        {
            name: "test",
            type: "line",
            symbol: "circle",
            symbolSize: 8,
            data: data,
            z: 4,
            itemStyle: {
                borderWidth: 2,
                borderColor: "#014D64",
                color: "#014D64"
            },
            lineStyle: {
                width: 2
            },
            markPoint: {
                symbol: "circle",
                label: {
                    show: false
                },

                itemStyle: {
                    color: "#7C260B",
                    borderColor: "#7C260B",
                    borderWidth: 2
                },
                symbolSize: 8,
                data: markPointData
            }
        }
    ]
};

需要注意的是,markPoint.itemStyle.borderWidth 和 markPoint.symbolSize 相加必须要大于 symbolSize 与 itemStyle.

borderWidth 之和,否则标出的特殊颜色覆盖不全正常的颜色。

总结

以上就是几个关于 Echart 图形的简单配置方法,希望对大家有所帮助,大家如果有更好的实现方案,欢迎在评论区留言交流!

标签:需求,展示,几个,itemStyle,batch,borderWidth,markPoint,Echarts,symbolSize
From: https://blog.51cto.com/bianchengsanmei/7447651

相关文章

  • 软件测试 | 不合格需求分析的风险
    不重视需求分析的项目团队将自食其果,需求分析的缺陷将给项目带来极大的隐患,下面将讨论不合格的需求分析引起的一些风险。1.需求不明确导致产品无法被接受在某些情况下,开发人员与实际使用产品的用户直接接触很困难,因此开发人员只能根据自己的理解来开发产品;另外,有些客户也不太明白自......
  • 记录下常用的echarts网站
    PPChart–让图表更简单让图表更简单。PPChart提供Echarts收录、图表制作等服务http://ppchart.com/MakeAPiehttps://madeapie.com/Isqqwhttps://www.isqqw.com/apowerful,interactivechartingandvisualizationlibraryforbrowserhttps://echarts.apache.or......
  • react native项目安装需求
    1.创建RN项目2.安装路由依赖3.redux需求安装redux依赖4.第三方组件库5.打包及各种其他操作 安装指定依赖注意:**link**链接库已在RN(reactnative)0.60版本开始支持自动链接,不需要再手动link!!! ###2.安装路由依赖#####安装所需包npminstall@react-navigation/native##......
  • Spring Boot 的核心注解是哪个?它主要由哪几个注解组成的?
    是@SpringBootApplication由三个注解组成@EnableAutoConfiguration:开启自动配置@SpringBootConfiguration:和@Configuration作用类似,表明自己是一个配置类,不同的是@SpringBootConfiguration允许自动配置@ComponetScan:设置扫描路径......
  • 什么是项目管理里的需求跟踪矩阵?
     需求跟踪矩阵(RequirementsTraceabilityMatrix,RTM)是项目管理和质量管理中的一个工具,用于跟踪项目需求与其来源以及如何满足这些需求的文档或活动之间的关系。其主要目的是确保项目满足所有定义的需求,同时为相关方提供一个清晰的视图,显示需求如何在项目的......
  • 软件测试|Python数据可视化神器——pyecharts教程(七)
    pyecharts绘制炫酷日历图什么是日历图日历图(CalendarChart)是一种用于可视化时间序列数据的图表类型。它以日历的形式展示数据,将时间与数据值结合在一起,使得数据的周期性和趋势在日历的视觉布局中更加直观和易于理解。在日历图中,每个单元格代表一个日期(通常是天),并用不同的颜色、大......
  • 2023-09-10:用go语言编写。作为项目经理,你规划了一份需求的技能清单 req_skills, 并打算
    2023-09-10:用go语言编写。作为项目经理,你规划了一份需求的技能清单req_skills,并打算从备选人员名单people中选出些人组成一个「必要团队」(编号为i的备选人员people[i]含有一份该备选人员掌握的技能列表)。所谓「必要团队」,就是在这个团队中,对于所需求的技能列表req_skills......
  • 2023-09-10:用go语言编写。作为项目经理,你规划了一份需求的技能清单 req_skills, 并打算
    2023-09-10:用go语言编写。作为项目经理,你规划了一份需求的技能清单req_skills,并打算从备选人员名单people中选出些人组成一个「必要团队」(编号为i的备选人员people[i]含有一份该备选人员掌握的技能列表)。所谓「必要团队」,就是在这个团队中,对于所需求的技能列表req_sk......
  • MRP物料需求计划的逻辑原理
    【摘要】MRP是生产制造企业“管好”物料的核心工具方法,基本思想是根据客户对最终产品的需求数量和需求时间,按产品的结构精确地算出所有零件和部件的数量,并按各种零件和部件的生产周期或采购周期(Leadtime,提前期),反推出它们的生产计划和采购计划。本期介绍MRP的基本逻辑原理和相关......
  • Echarts快速上手
    今天5分钟快速上手Echarts.看官方文档就行。ApacheECharts<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Title</title></head><scriptsrc="lib/echarts.min%20(2).js"&......