解决使用了subList方法之后MPAndroidChart不能显示数据的Bug

Android MPAndroidChart使用v3.1.0版本之piechart百分号不显示问题 在使用MPAndroidChartv3.1.0版本开发饼状图中根据官方demo一步步进行,可是饼状图的百分号就是不显示,只显示数字问题,明明跟demo一毛一样,官方demo就是没问题,查阅很多方法都没什么用,那就是版本的问题。 阅读详情
package com.wissea.trs.activity;

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.OptionalDataException;
import java.io.StreamCorruptedException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

import android.graphics.Color;
import android.os.AsyncTask;
import android.os.Bundle;
import android.text.TextUtils;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.RadioButton;

import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.github.mikephil.charting.charts.LineChart;
import com.github.mikephil.charting.components.Legend;
import com.github.mikephil.charting.components.Legend.LegendForm;
import com.github.mikephil.charting.components.XAxis;
import com.github.mikephil.charting.components.XAxis.XAxisPosition;
import com.github.mikephil.charting.data.Entry;
import com.github.mikephil.charting.data.LineData;
import com.github.mikephil.charting.data.LineDataSet;
import com.wissea.trs.Constant;
import com.wissea.trs.R;
import com.wissea.trs.ResponseStatus;
import com.wissea.trs.api.WeatherService;
import com.wissea.trs.utils.DateTools;

public class HistoryActivity extends BaseActivity implements OnCheckedChangeListener{

    private WeatherService mWeatherService;
    private String sensorCode;
    private String endDate;
    private String weekReportStartDate;
    private String monthReportStartDate;
    private String seasonReportStartDate;

    private LineData mTemperatureDataWeek;
    private LineData mHumidityDataWeek;
    private LineData mAmmoniaDataWeek;
    private List<String> mWeekXValues;
    private List<Entry> mWeekYValuesTemperature;
    private List<Entry> mWeekYValuesHumidity;
    private List<Entry> mWeekYValuesAmmonia;

    private LineData mTemperatureDataMonth;
    private LineData mHumidityDataMonth;
    private LineData mAmmoniaDataMonth;
    private List<String> mMonthXValues;
    private List<Entry> mMonthYValuesTemperature;
    private List<Entry> mMonthYValuesHumidity;
    private List<Entry> mMonthYValuesAmmonia;

    private LineData mTemperatureDataSeason;
    private LineData mHumidityDataSeason;
    private LineData mAmmoniaDataSeason;
    private List<String> mSeasonXValues;
    private ArrayList<Entry> mSeasonYValuesTemperature;
    private ArrayList<Entry> mSeasonYValuesHumidity;
    private ArrayList<Entry> mSeasonYValuesAmmonia;

    private LineChart lc_history_temperature;
    private LineChart lc_history_humidity;
    private LineChart lc_history_ammonia;

    private RadioButton btn_week;
    private RadioButton btn_month;
    private RadioButton btn_season;

    @Override
    protected void onCreate(Bundle bundle) {
        // TODO Auto-generated method stub
        super.onCreate(bundle);
        setContentView(R.layout.activity_history);

        sensorCode = getIntent().getExtras().getString("sensorCode");

        // 初始化ActionBar
        setBackable(true);
        setRightImageVisible(false);
        setTitle("历史数据");

        btn_week = (RadioButton) findViewById(R.id.btn_week);
        btn_week.setOnCheckedChangeListener(this);

        btn_month = (RadioButton) findViewById(R.id.btn_month);
        btn_month.setOnCheckedChangeListener(this);

        btn_season = (RadioButton) findViewById(R.id.btn_season);
        btn_season.setOnCheckedChangeListener(this);

        // 温度
        lc_history_temperature = (LineChart) findViewById(R.id.lc_history_temperature);
        // 湿度
        lc_history_humidity = (LineChart) findViewById(R.id.lc_history_humidity);
        // 氨气浓度
        lc_history_ammonia = (LineChart) findViewById(R.id.lc_history_ammonia);



        endDate = DateTools.getDateDaysBefore(0);
        weekReportStartDate = DateTools.getDateDaysBefore(7);
        monthReportStartDate = DateTools.getDateDaysBefore(30);
        seasonReportStartDate = DateTools.getDateDaysBefore(365);
        if (!TextUtils.isEmpty(sensorCode)) {
            new GetHistoryTask(seasonReportStartDate, endDate).execute();
        }

        mWeekXValues = new ArrayList<String>();
        mWeekYValuesTemperature = new ArrayList<Entry>();
        mWeekYValuesHumidity = new ArrayList<Entry>();
        mWeekYValuesAmmonia = new ArrayList<Entry>();

        mMonthXValues = new ArrayList<String>();
        mMonthYValuesTemperature = new ArrayList<Entry>();
        mMonthYValuesHumidity = new ArrayList<Entry>();
        mMonthYValuesAmmonia = new ArrayList<Entry>();

        mSeasonXValues = new ArrayList<String>();
        mSeasonYValuesTemperature = new ArrayList<Entry>();
        mSeasonYValuesHumidity = new ArrayList<Entry>();
        mSeasonYValuesAmmonia = new ArrayList<Entry>();
        mWeatherService = new WeatherService();
    }

    @Override
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
        // TODO Auto-generated method stub
        switch (buttonView.getId()) {
        case R.id.btn_week:
            // 周报
            if (isChecked) {
                showHistoryData(1);
            }
            break;
        case R.id.btn_month:
            // 月报
            if (isChecked) {
                showHistoryData(2);
            }
            break;
        case R.id.btn_season:
            // 季报
            if (isChecked) {
                showHistoryData(3);
            }
            break;

        default:
            break;
        }
    }

    /**  
     * 生成一个数据  
     * @param count 表示图表中有多少个坐标点  
     * @param range 用来生成range以内的随机数  
     * @return  
     */    
    private LineData getLineData(List<String> xValues, List<Entry> yValues) {    
        /*ArrayList<String> xValues = new ArrayList<String>();    
        for (int i = 0; i < count; i++) {    
            // x轴显示的数据,这里默认使用数字下标显示    
            xValues.add("" + i);    
        }  */  

        ArrayList<LineDataSet> lineDataSets = new ArrayList<LineDataSet>(); 
        // y轴的数据 1======================================start   
       /* ArrayList<Entry> yValues = new ArrayList<Entry>();    
        for (int i = 0; i < count; i++) {    
            float value = (float) (Math.random() * range) + 3;    
            yValues.add(new Entry(value, i));    
        }*/    

        // create a dataset and give it a type    
        // y轴的数据集合    
        LineDataSet lineDataSet = new LineDataSet(yValues, "" /*测试折线图*/);    
        // mLineDataSet.setFillAlpha(110);    
        // mLineDataSet.setFillColor(Color.RED);   

        //用y轴的集合来设置参数    
        // 线宽    
        lineDataSet.setLineWidth(1.0f); 
        // 显示的圆形大小    
        lineDataSet.setCircleSize(2.5f);
        // 显示颜色    
        lineDataSet.setColor(Color.GREEN);
        // 圆形的颜色    
        lineDataSet.setCircleColor(Color.GREEN);
        // 高亮的线的颜色
        lineDataSet.setHighLightColor(Color.GREEN);
        // 设置圆点的颜色
        lineDataSet.setFillColor(Color.GREEN);
        lineDataSet.setDrawCircleHole(false);
        //lineDataSet.setValueTextSize(9f);
        lineDataSet.setFillAlpha(65);

        lineDataSets.add(lineDataSet); 
        // y轴的数据 1======================================end

        // create a data object with the datasets    
        LineData lineData = new LineData(xValues, lineDataSets);    
        return lineData;    
    }    

    /**
     * 显示数据
     * @param lineChart
     * @param lineData
     * @param color
     */
    private void showChart(LineChart lineChart, LineData lineData, int color) {    
        //是否在折线图上添加边框
        lineChart.setDrawBorders(false);

        // 数据描述 
        lineChart.setDescription("");   
        // 如果没有数据的时候,会显示这个,类似listview的emtpyview    
        lineChart.setNoDataTextDescription("暂无数据");    

        // 是否显示表格颜色    
        lineChart.setDrawGridBackground(false); 
        // 表格的的颜色,在这里是是给颜色设置一个透明度 
        //lineChart.setGridBackgroundColor(Color.WHITE & 0x70FFFFFF);    

        // 设置是否可以触摸        
        lineChart.setTouchEnabled(true); 
        // 是否可以拖拽     
        lineChart.setDragEnabled(true);
        // 是否可以缩放   
        lineChart.setScaleEnabled(true); 

        // if disabled, scaling can be done on x- and y-axis separately    
        lineChart.setPinchZoom(false); 

        //lineChart.setBackgroundColor(Color.rgb(Integer.parseInt("7e", 16), Integer.parseInt("ce", 16), Integer.parseInt("f4", 16)));// 设置背景    
        // 设置数据      
        lineChart.setData(lineData);

        // 设置比例图标示,就是那个一组y的value的     
        Legend mLegend = lineChart.getLegend(); 
        //mLegend.setPosition(LegendPosition.BELOW_CHART_CENTER);    
        // 样式    
        mLegend.setForm(LegendForm.CIRCLE);
        // 字体  
        mLegend.setFormSize(0f);  
        // 颜色    
        mLegend.setTextColor(Color.RED);
        // 字体   
        //mLegend.setTypeface(mTf); 

        // 设置Y轴右边不显示数字
        lineChart.getAxisRight().setEnabled(false);

        XAxis xAxis = lineChart.getXAxis();
        // 设置X轴的数据显示在报表的下方
        xAxis.setPosition(XAxisPosition.BOTTOM);
        //xAxis.setDrawAxisLine(false);
        // 设置不从X轴发出纵向直线
        xAxis.setDrawGridLines(false);
        // 立即执行的动画,x轴    
        lineChart.animateX(2500); 
    }   

    /**
     * 获取历史记录
     * @author Jason
     *
     */
    private class GetHistoryTask extends AsyncTask<Void, Void, String> {

        private String startDate;
        private String endDate;

        public GetHistoryTask(String startDate, String endDate) {
            // TODO Auto-generated constructor stub
            this.startDate = startDate;
            this.endDate = endDate;
        }

        @Override
        protected String doInBackground(Void... params) {
            // TODO Auto-generated method stub
            return mWeatherService.getHistory(sensorCode, startDate, endDate, Constant.UserID);
        }

        @Override
        protected void onPostExecute(String result) {
            // TODO Auto-generated method stub
            super.onPostExecute(result);

            if (result != null) {
                ObjectMapper mapper = new ObjectMapper();
                JsonNode jsonNode = null;
                try {
                    jsonNode = mapper.readTree(result);
                } catch (Exception e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }

                if (jsonNode != null && TextUtils.equals(jsonNode.get("Status").textValue(), ResponseStatus.SUCCESS)) {
                    // 成功获取到了历史记录
                    int count = jsonNode.get("Count").asInt();
                    if (count > 0) {
                        JsonNode contentNode =  jsonNode.get("Content");
                        for (int i = 0; i < count; i++) {
                            JsonNode dayNode = contentNode.get(i);
                            mSeasonYValuesTemperature.add(new Entry(dayNode.get("Temperature").floatValue(), i));
                            mSeasonYValuesHumidity.add(new Entry(dayNode.get("Humidity").floatValue(), i));
                            mSeasonYValuesAmmonia.add(new Entry(dayNode.get("Extension1").floatValue(), i));
                            mSeasonXValues.add(dayNode.get("CollectingTime").textValue().substring(0, 10));
                            // 解决不显示数据的bug,注意后面的index
                            if (count - i < 30) {
                                mMonthYValuesTemperature.add(new Entry(dayNode.get("Temperature").floatValue(), 29-count+i));
                                mMonthYValuesHumidity.add(new Entry(dayNode.get("Humidity").floatValue(), 29-count+i));
                                mMonthYValuesAmmonia.add(new Entry(dayNode.get("Extension1").floatValue(), 29-count+i));
                                mMonthXValues.add(dayNode.get("CollectingTime").textValue().substring(0, 10));
                            }

                            if (count - i < 7) {
                                mWeekYValuesTemperature.add(new Entry(dayNode.get("Temperature").floatValue(), 6-count+i));
                                mWeekYValuesHumidity.add(new Entry(dayNode.get("Humidity").floatValue(), 6-count+i));
                                mWeekYValuesAmmonia.add(new Entry(dayNode.get("Extension1").floatValue(), 6-count+i));
                                mWeekXValues.add(dayNode.get("CollectingTime").textValue().substring(0, 10));
                            }
                        }



                        mTemperatureDataSeason = getLineData(mSeasonXValues, mSeasonYValuesTemperature);
                        mHumidityDataSeason = getLineData(mSeasonXValues, mSeasonYValuesHumidity);
                        mAmmoniaDataSeason = getLineData(mSeasonXValues, mSeasonYValuesAmmonia);

                        mTemperatureDataMonth = getLineData(mMonthXValues, mMonthYValuesTemperature);
                        mHumidityDataMonth = getLineData(mMonthXValues, mMonthYValuesHumidity);
                        mAmmoniaDataMonth = getLineData(mMonthXValues, mMonthYValuesAmmonia);

                        mTemperatureDataWeek = getLineData(mWeekXValues, mWeekYValuesTemperature);
                        mHumidityDataWeek = getLineData(mWeekXValues, mWeekYValuesHumidity);
                        mAmmoniaDataWeek = getLineData(mWeekXValues, mWeekYValuesAmmonia);
                    }

                    showHistoryData(1);
                }
            }
        }
    }

    /**
     * 切换及展示历史数据
     */
    private void showHistoryData(int type) {
        switch (type) {
        case 1:
            showChart(lc_history_temperature, mTemperatureDataWeek, R.color.red_failed);
            showChart(lc_history_humidity, mHumidityDataWeek, R.color.red_failed);
            showChart(lc_history_ammonia, mAmmoniaDataWeek, R.color.red_failed);
            break;
        case 2:
            showChart(lc_history_temperature, mTemperatureDataMonth, R.color.red_failed);
            showChart(lc_history_humidity, mHumidityDataMonth, R.color.red_failed);
            showChart(lc_history_ammonia, mAmmoniaDataMonth, R.color.red_failed);
            break;
        case 3:
            showChart(lc_history_temperature, mTemperatureDataSeason, R.color.red_failed);
            showChart(lc_history_humidity, mHumidityDataSeason, R.color.red_failed);
            showChart(lc_history_ammonia, mAmmoniaDataSeason, R.color.red_failed);
            break;

        default:
            break;
        }
    }

}
LLC谐振电路增益公式推导 LLC谐振电路增益公式理解 阅读详情

相关推荐

[LaTeX] 调整参考文献的格式(References),包括作者名缩写,行距,字体,引用顺序等等

在此记录我对LaTeX中参考文献references的尝试,主要涵盖如题几个方面。

the Blog of 等不到天亮丶等时光 4万+

android条形图,MPAndroid组条形图未显示

这个问题已经在这里有了答案:????????????>????????????How to check if activity is in foreground or in visible background?????????????????????????????????????22个这是我用于使用MPAndroid库版本3的组bar_chart的代码.此代码不起作用.没有崩溃和错误日志...

weixin_34094282的博客 303

深入解析TOM模块的PWM输出与ADC触发机制:从配置到DMA数据传输

本文深入解析了TOM模块在嵌入式系统中的核心应用,详细阐述了如何配置其PWM输出功能,并实现与ADC模块的硬件触发同步。重点介绍了通过DMA机制高效传输ADC采样数据的完整流程,涵盖时钟配置、工作模式选择、引脚映射及联调实战,为电机控制、数字电源等实时系统提供了一套硬件自动化的高效解决方案。

weixin_29227585的博客 368

MPAndroidChart 折线图只有一个数据显示问题

MPAndroidChart是一个Android图表类框架,十分强大,GitHub地址:https://github.com/PhilJay/MPAndroidChart。 最近在使用LineChart折线图的时候,发现当折线图数据只有一个时,不会画出折线,还不显示圆圈点。所以最后搞了好久终于解决了:就是当折线图数据只有一个时,显示一个点。具体代码如下: /** * initL...

yuan7016的博客 5105

什么是PON(无源光纤网络)、PON的发展及演进

全球知名媒体Omdia在光纤和铜缆接入设备预测报告中对2022年2月的预测显示,PON设备端口收入预计在2020年至2027年期间以12.3%的年复合增长率增长,到2027年将达到163亿美元,远高于2020年的82亿美元。 此前,Omdia有份报告称,在3月份举行的美国OFC展会中,众多 CSP 正在顺利部署 XGS PON(10G 对称),其他 CSP 专注于基于 GPON 的低速 FTTH 服务。另外关于25G PON 和 50G PON 之间的争论仍在继续,而Omdia 认为 25G PON 和 5

4930

STM32 HAL PWM (占空比) -电机软启动不到位解决

为了避免电机启动电压大造成设备损坏,或者供电不足导致重启,通常在对启动都需要一个PWM进行软启动,下面对PWM电机软启动详细介绍。

weixin_44597885的博客 867

解决MPAndroidChart的水平柱状图HorizontalBarChart,柱形上的数字无法显示问题

两边的y轴都要设置最大最小值。在HorizontalBarChart中有上下两个y轴,在一般的开发中我们通常都只希望显示一侧的y轴,如果按照之前的做法直接将另外的一个y轴setEnabled(false)的话,就会出现在柱块上无法显示本文的问题。但是最大值有时并不好设置,数据是随机的,设置的太大或者太小都不合适。所以可以取数据的最大值*1.1,作为y轴的最大值。用了各种方法,柱形上的数字都不显示。然后发现一篇文章可以解决这个问题。

m0_53376166的博客 889

基于逆向工程的中国裁判文书网爬虫技术深度解析:从反爬破解到合规抓取

最近承接了一个法律大数据分析的项目,需要获取某类合同纠纷的裁判文书数据,用于分析不同地区的判决规律、法官的裁判倾向以及法条适用情况。原本以为用常规的Python爬虫就能搞定,结果刚对着中国裁判文书网发了几个请求,就遭遇了“滑铁卢”:要么请求直接返回403 Forbidden,要么触发滑块验证码,甚至连IP都被临时封禁了。普通的requests+BeautifulSoup组合在裁判文书网面前完全失效,这也让我意识到,想要获取这里的数据,必须先通过逆向工程拆解网站的请求逻辑和反爬机制。经过一周的摸索,从抓包分析

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 3172

android MPchart 折现图只有一个点不显示问题

最近做的项目中需要使用图表,集成了 MPchart 使用折线图展现数据趋势 发现当返回的datalist只有一条数据的时候 图表不显示 debug后 发现 x轴格1式化 数据的时候 方法如下 @Override public String getFormattedValue(float value, AxisBase axis) { int position = (int) va

yangzongbin的专栏 2068

2、MOSFET基本物理效应及其BSIM4模型解析

本文深入探讨了MOSFET的基本物理效应及其在BSIM4模型中的数学表述,涵盖门和沟道的几何结构、温度依赖性、材料模型选项、阈值电压计算、以及其他关键物理效应如LDD电阻、有限电荷厚度、有效迁移率等。同时解析了机械应力、邻近效应及布局依赖效应对MOSFET性能的影响,并通过参数表和建模流程提供了精确建模的指导,旨在帮助读者优化MOSFET器件性能与可靠性。

purple的博客 566

高项备考论文:规划绩效域

高项备考论文:规划绩效域

liuxu324的博客 1128

Android 解决ViewPager+Fragment切换显示不出MpAndroidChart折线图数据问题

Android 解决ViewPager+Fragment切换显示不出MpAndroidChart折线图数据问题问题分析:数据提交问题,lineChart.invalidate();这个问题我查了半天自己解决了解决方法:在每次加载完数据,设置完图表最后(记住是最后),加上一条lineChart.invalidate();这样在每次切换Viewpager的时候都会再次生产一次图表,所以,图表就不会出现...

weixin_42179463的博客 765

CDR插件开发之CPG插件017 - 在VS2019中实现CPG插件调试(自动写入CPG、自动启动CDR)

在上篇文章中,讲解了图像导出实例:当文档打开后,自动导出当前页面的图像到系统临时文件夹。在代码编写过程中,导出图像路径变量tmpFileName 被修改了很多次,有没有办法实现调试功能,通过控制台打印变量,而不用编译成CPG后再通过消息框来调试?当然是可以的。本篇作为单独篇,以CDR X8版本为例,讲解CPG插件在VS2019中实现调试的具体方法。 工程搭建准备 按照惯例,本篇文章的序号为017,请直接拷贝上一个工程016-export-image(拷贝前最好清理掉 Debug、x64等编译目录..

Zebe 1811

Android图表 MPAndroidChart折线图

1.介绍MPAndroidChart GitHub地址 MPAndroidChart的强大之处就不在多说了,目前最新的版本是3.0.1,在新版本中很多方法都被弃用了,这个要注意一下,在网上查到的大多数资料都是关于旧版本的,今天来实现一下折线图,把过程记录下来,分享给大家。效果图:2.引入开源库 在项目根目录的build.gradle文件中加入如下代码 allprojects { repos

YangLe 2万+

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

MPAndroidChart中MyMarkerView设置不显示问题

原因:// 不显示定位线 lineDataSet.setHighlightEnabled(true);当这个属性设为false时,MarkerView不显示解决:1,把这个属性设为ture2.如果不想显示定位线,可以将定位线的颜色设为透明...

小白新人 3817

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

安卓 多次异步请求数据后使用 MPAndroidChart 绘图问题

2.现在主页面中获取对应数据后发给它(本文的柱状图是绘制在fragment中的)1.使用线程等待,将异步线程在得到数据后等待,在所有线程都得到数据后一起绘制。binding.BarChart.setNoDataText("暂无数据~")可以看见原本想的是每次获取数据后都绘制一次就可以了,但这样它一次都不画。binding.BarChart.setNoDataText("暂无数据~")binding.BarChart.clear()// 清空。//数据集赋值给数据对象。//数据添加到数据集。

Hijsjsr的博客 202

MPAndroidChart显示No data available

网络请求返回数据后设置到chart中,但是一直显示no data available。跳转到其它页面再返回显示正常。在设置数据后需要手动调用view的invalidate方法刷新chart。

chuyouyinghe的专栏 1242

【Android】MPAndroidCharta显示 No data available

在接口返回数据后,将数据设置到chart中,区域不显示chart只显示 no data available。

ROI_IOR的博客 1024

MPAndroidChart 教程:动态和实时数据 Dynamic & Realtime Data(八)

其余文章索引:  MPAndroidChart 教程:概述  MPAndroidChart 教程:开始 Getting Started(一)  MPAndroidChart 教程:与图表进行手势交互 Interaction with the Chart(二)  MPAndroidChart 教程:坐标轴,X轴,Y轴,Labels(三)  MPAndroidChart 教程:设置数据,设置

fuxiaoyuqing的专栏 1823

解决MPAndroidChart-LineChart清除数据刷新后X轴取值不准确的问题

直接点击查看解决办法由于项目需要使用表格,于是在Github上搜索到了一个比较好的开源控件。现在我想实现一个表格,表格上每隔几秒增加一个点,表格上只会显示10条数据,所以效果就像动态更新数据一样,每加一个点,X轴像左移动一个点。但是我现在想加一个Button,每次点击后就清除掉LineChart中的DataSet,然后重新设置一个DataSet,重新加载数据。也就是说X轴重新从0开始,但是就在这个时

下课睡觉的博客。while(true){eat();code();sleep()} 1万+

MPAndroidChart 教程学习笔记

MPAndroidChart 博客链接 MPAndroidChart 教程 moveViewTo(…) 方法会自动调用 invalidate() 动态添加或移除数据后, 调用invalidate()刷新图表之前, 必须调用 notifyDataSetChanged() - ...

剑雨巍巍的博客 358

【Android】使用MPAndroidChart过程中BarChart的几点心得

1.MPAndroidChart接入 //MPAndroidChart implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0' 2.设置数据加载动画 mBarChart.animateXY(1000, 1000); 首先需要说的是上面这行代码是所有博客和文档里面都提到的,通过该方法可以设置数据加载动画。但是在实际使用...

张迅之的博客 8057

MPAndroidChart踩坑总结

1、界面不刷新 line_chart.getData().notifyDataChanged() line_chart.notifyDataSetChanged() 如果不刷新界面,再调用 line_chart.invalidate() 2、BarChart显示指定个数柱形 val xAxis = bar_chart.getXAxis() xAxis.labelCount = 10 val y...

yuan1809的专栏 2280
上一篇: 使APP不容易被干掉(未测试)
下一篇: “网络获取经纬度-->获取所在城市名-->获取该城市天气”一条龙搞定
ithouse
博客等级 码龄12年 200粉丝 212原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

ithouse

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

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

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

打赏作者

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

抵扣说明:

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

余额充值