码农知识堂 - 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);
  • 相关阅读:
    MYSQL分区
    OpenAI即将推出新一代AI模型DALL-E 3;用AI进行天然产物药物发现的综述
    【数据开发】大数据平台架构,Hive / THive介绍
    全球地表水数据集JRC Global Surface Water Mapping Layers v1.4
    kafka面试连环问(2),你能撑到哪一问?
    盘点30个Python树莓派源码Python爱好者不容错过
    SQL关键字详解
    PT——report transition on pins/nets
    git 提交代码
    【力扣每日一题】1470. 重新排列数组
  • 原文地址:https://blog.csdn.net/dawnZeng/article/details/126301748
    • 最新文章
    • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
      用 Hashids 优雅解决 C 端自增 ID 暴露问题
      V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
      LLVM Pass快速入门(四):代码插桩
      milkup:桌面端 markdown AI续写和即时渲染
      基于项目工程构建SBOM(软件物料清单)的研究
      鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
      .NET 中如何快速实现 List 集合去重?
      扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
      浅谈数据访问层
    • 热门文章
    • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
      奉劝各位学弟学妹们,该打造你的技术影响力了!
      五年了,我在 CSDN 的两个一百万。
      Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
      面试官都震惊,你这网络基础可以啊!
      你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
      心情不好的时候,用 Python 画棵樱花树送给自己吧
      通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
      13 万字 C 语言从入门到精通保姆级教程2021 年版
      10行代码集2000张美女图,Python爬虫120例,再上征途
    小工具 小游戏
    Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

    京公网安备 11010502049817号