码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Android Highcharts图表小结之HITooltip一个节点显示多个信息


    最近网上查看Android项目中使用Highcharts图表一个点添加显示多个信息的资料比较少,这里记录一下,并希望能帮到有需要的人。

    一.先直接放代码,后图片和代码说明:

    private ArrayList listMonth = new ArrayList<>();//月份
    private ArrayList listModifier = new ArrayList<>();//修改者信息
    private ArrayList listSalePrice = new ArrayList<>();//平均销售金额
    
        //设置表图视图
        private void setChartView() {
            HIOptions options = new HIOptions();
            //隐藏右上角的导出按钮(菜单按钮)
            HIExporting hiExporting = new HIExporting();
            hiExporting.setEnabled(false);
            options.setExporting(hiExporting);
    
            //HITitle管理图表标题
            HITitle title = new HITitle();
            title.setText(getIntent().getStringExtra("Title"));
            options.setTitle(title);
    
            //HISubtitle负责字幕
    //        HISubtitle subtitle = new HISubtitle();
    //        subtitle.setText("Source: WorldClimate.com");
    //        options.setSubtitle(subtitle);
    
            //设置右下角版权标签
            HICredits credits = new HICredits();
    //        credits.setText("vipstation.com.hk");
            credits.setEnabled(false);
            options.setCredits(credits);
    
            //x轴
            final HIXAxis xAxis = new HIXAxis();
            xAxis.setCategories(listMonth);
            options.setXAxis(new ArrayList() {{
                add(xAxis);
            }});
    
            //y轴
            final HIYAxis yAxis = new HIYAxis();
            yAxis.setTitle(new HITitle());
            yAxis.getTitle().setText(getString(R.string.language_amount_h));
            options.setYAxis(new ArrayList() {{
                add(yAxis);
            }});
    
            HILine series1 = new HILine();
            series1.setName(getIntent().getStringExtra("SeriesName"));
    
            if (listModifier != null && listModifier.size() > 0) {
                ArrayList> data = new ArrayList<>();
                for (int i = 0; i < listSalePrice.size(); i++) {
                    HashMap object = new HashMap<>();
                    object.put("y", listSalePrice.get(i));
                    object.put("z", listModifier.get(i));
                    data.add(object);
                }
    
    
                String nameStr = getString(R.string.language_reviser);
                HITooltip tooltip = new HITooltip();
    //tooltip.setHeaderFormat("{point.key}");//设置了字体大小
    //tooltip.setPointFormat("
    {series.name}:{point.y}
    " + nameStr + ":{point.z}");//表格展示 //tooltip.setFooterFormat(""); //tooltip.setShared(true); //tooltip.setUseHTML(true); //
    和
    具有相同作用,都表示换行符,都是非成对出现的标记,但前者是老的html规范,新的规范(W3C//DTD HTML 4.0)要求一切都应象XML那样有结束符,如果没有也要硬加一个反斜杠。象br这种不需成对使用的html符号,就成了这个样子:
    tooltip.setHeaderFormat("{point.key}
    ");//2022/08/08          //售价:4680(
    换行符换行)修改者:0111 | zaa tooltip.setPointFormat("{series.name}:{point.y}
    " + nameStr + ":{point.z}"); options.setTooltip(tooltip); // HITooltip tooltip = new HITooltip(); //tooltip.setHeaderFormat("{series.name}:{point.key}
    ");//公价:2022/08/08 //tooltip.setPointFormat("x = {point.x}, y = {point.y}
    ");//x=0,y=4680修改者:0122 | zas(这里修改者这行没换行) //tooltip.setValueSuffix("修改者:" + "{point.z}"); //options.setTooltip(tooltip);             //曲线设置值             series1.setData(data);         } else series1.setData(listSalePrice); options.setSeries(new ArrayList<>(Arrays.asList(series1))); // //曲线点击方法 // HIPlotOptions plotOptions = new HIPlotOptions(); // plotOptions.setSeries(series1); // plotOptions.getSeries().setPoint(new HIPoint()); // plotOptions.getSeries().getPoint().setEvents(new HIEvents()); // plotOptions.getSeries().getPoint().getEvents().setClick(new HIFunction( // new Runnable() { // @Override // public void run() { // L.e("点击事件"); // } // } // )); // options.setPlotOptions(plotOptions); options.setColors(new ArrayList<>(Arrays.asList(HIColor.initWithRGB(28, 182, 130)))); chartView.setOptions(options); }

    二.当没有修改者的信息时,提示框就显示x轴和y轴节点的信息,折线HILine直接添加金额集合series1.setData(listSalePrice);

    三. 主要HITooltip提示节点自定义信息:

    1.如代码里面的重新用一个键值对集合重新把数据装起来;

     ArrayList> data = new ArrayList<>();

    for (int i = 0; i < listSalePrice.size(); i++) {

    HashMap object = new HashMap<>();

    object.put("y", listSalePrice.get(i));

    object.put("z", listModifier.get(i)); data.add(object);

    }

    2.HITooltip提示设置

    HITooltip tooltip = new HITooltip();
    tooltip.setHeaderFormat("{point.key}
    ");//2022/08/08 //售价:4680(
    换行符换行)修改者:0111 | zaa tooltip.setPointFormat("{series.name}:{point.y}
    " + nameStr + ":{point.z}"); options.setTooltip(tooltip);

    3.展示效果图

     四.曲线点击方法

    HIPlotOptions plotOptions = new HIPlotOptions();
    plotOptions.setSeries(series1);
    plotOptions.getSeries().setPoint(new HIPoint());
    plotOptions.getSeries().getPoint().setEvents(new HIEvents());
    plotOptions.getSeries().getPoint().getEvents().setClick(new HIFunction(
            () -> {
                    L.e("点击事件")
            }
    ));
    options.setPlotOptions(plotOptions);
  • 相关阅读:
    Elasticsearch搜索引擎:ES的segment段合并原理
    Spring MVC:拦截器
    SpringBoot定时任务 - 集成quartz实现定时任务(单实例和分布式两种方式)
    JVM阶段(1)-运行时数据区
    深度学习基础宝典---激活函数、Batch Size、归一化
    python后端相关知识点汇总(十二)
    【力扣每日一题】2023.10.13 避免洪水泛滥
    基于51单片机的数控可调稳压电源Proteus仿真
    RPA技术如何重塑制造业的未来
    深度学习系列34:统一图像视频文字的女娲模型
  • 原文地址:https://blog.csdn.net/dawnZeng/article/details/126301748
    • 最新文章
    • 攻防演习之三天拿下官网站群
      数据安全治理学习——前期安全规划和安全管理体系建设
      企业安全 | 企业内一次钓鱼演练准备过程
      内网渗透测试 | Kerberos协议及其部分攻击手法
      0day的产生 | 不懂代码的"代码审计"
      安装scrcpy-client模块av模块异常,环境问题解决方案
      leetcode hot100【LeetCode 279. 完全平方数】java实现
      OpenWrt下安装Mosquitto
      AnatoMask论文汇总
      【AI日记】24.11.01 LangChain、openai api和github copilot
    • 热门文章
    • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
      奉劝各位学弟学妹们,该打造你的技术影响力了!
      五年了,我在 CSDN 的两个一百万。
      Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
      面试官都震惊,你这网络基础可以啊!
      你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
      心情不好的时候,用 Python 画棵樱花树送给自己吧
      通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
      13 万字 C 语言从入门到精通保姆级教程2021 年版
      10行代码集2000张美女图,Python爬虫120例,再上征途
    Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
    正则表达式工具 cron表达式工具 密码生成工具

    京公网安备 11010502049817号