zoukankan      html  css  js  c++  java
  • MPAndroiddChart的使用

    效果图

    代码:

    package com.jiahao.me;
    
    import java.util.ArrayList;
    import java.util.List;
    
    import android.app.Activity;
    import android.graphics.Color;
    import android.os.Bundle;
    
    import com.github.mikephil.charting.charts.LineChart;
    import com.github.mikephil.charting.components.Legend;
    import com.github.mikephil.charting.components.XAxis;
    import com.github.mikephil.charting.components.YAxis;
    import com.github.mikephil.charting.components.YAxis.YAxisLabelPosition;
    import com.github.mikephil.charting.data.ChartData;
    import com.github.mikephil.charting.data.DataSet;
    import com.github.mikephil.charting.data.Entry;
    import com.github.mikephil.charting.data.LineData;
    import com.github.mikephil.charting.data.LineDataSet;
    
    public class MainActivity extends Activity {
    	private LineChart chat;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            chat = (LineChart) findViewById(R.id.chat);
            chat.setLogEnabled(true);
            chat.setBackgroundColor(Color.WHITE);
            chat.setDrawGridBackground(false);
            // 设置描述
            chat.setDescription("");
            // 启用 拖动 平移
            chat.setDragEnabled(true);
            chat.setDragDecelerationEnabled(true);
            chat.setDrawBorders(false);
            // 启用或禁用绘制图表的边框
            chat.setDrawBorders(false);
            
    //        chat.setFitsSystemWindows(true);
            // 设置动画
            chat.animateX(3000);
            // 设置滚动
            chat.setScrollContainer(true);
            
    //        chat.setTouchEnabled(true);
            chat.setTouchEnabled(true);
            // 设置这里进行缩放控制滚动
    //        chat.zoom(1.2f, 0f, 15f, 0f);
            chat.setPinchZoom(false);
            
            
            
    //        chat.setVisibleXRangeMaximum(5);
    //        chat.setVerticalScrollbarPosition(0);
            
    //        chat.setHighlightPerDragEnabled(true);
            
            settingChat();
        }
    
    
       private void settingChat() {
    	   // 设置X轴
    	   XAxis xAxis = chat.getXAxis();
    	   // 设置X轴的位置
    	   xAxis.setPosition(XAxis.XAxisPosition.BOTTOM);
    	   // 设置X轴启用或者禁用
    	   xAxis.setEnabled(true);
    	   // 上面第一行代码设置了false,所以下面第一行即使设置为true也不会绘制AxisLine
    	   xAxis.setDrawAxisLine(false);
    	   
    	   xAxis.setDrawGridLines(false);
    	   xAxis.setDrawLabels(true);
    	   // 设置X轴文字的颜色
    	   xAxis.setTextColor(Color.BLUE);
    	   xAxis.setDrawGridLines(true);
    	   
    	   
    	   xAxis.setLabelsToSkip(0);
    //	   xAxis.setAxisLineWidth(10f);
    //	   xAxis.setEnabled(true);
    //	   xAxis.setDrawGridLines(false);
    	   
    	   
    	   
    	   // 设置轴行的间距
    //	   xAxis.setAxisLineWidth(10);
    	   
    	   
    	   // 设置右边的Y轴
    	   YAxis yAxis = chat.getAxisRight();
    	   // 设置右边的label不可用
    	   yAxis.setDrawLabels(false);
    	   // 设置右边的线不可用
    	   yAxis.setDrawGridLines(false);
    	   // 设置右边的线不可用
    	   yAxis.setDrawAxisLine(false);
    	   
    	   YAxis leftAxis = chat.getAxisLeft();
    	   leftAxis.setDrawAxisLine(false);
    	   
    	   
    	   
    	   leftAxis.setStartAtZero(false);
    	   
    	   
    	   
    	   
    	   // 这里进行设置
    //	   xAxis.setEnabled(false);
    //	   leftAxis.setEnabled(true);
    //	   leftAxis.setDrawLabels(true);
    //	   leftAxis.setDrawAxisLine(true);
    	   xAxis.setEnabled(true);
    //	   xAxis.setDrawAxisLine(false);
    	   xAxis.setDrawGridLines(false);
    //	   xAxis.setAxisLineWidth(150);
    	   
    	   
    	   
    	   
    	   
    	   
    	   
    	   // 设置数据
    	   List<Entry> yVals = new ArrayList<Entry>();
    	   List<String> xVals = new ArrayList<String>();
    	   xVals.add("01-01");
    	   yVals.add(new Entry(35.5f, 0));
    	   
    	   xVals.add("01-02");
    	   yVals.add(new Entry(36.0f, 1));
    	   
    	   xVals.add("01-03");
    	   yVals.add(new Entry(36.5f, 2));
    	   
    	   xVals.add("01-04");
    	   yVals.add(new Entry(37.0f, 3));
    	   
    	   xVals.add("01-05");
    	   yVals.add(new Entry(37.5f, 4));
    	   
    	   xVals.add("01-06");
    	   yVals.add(new Entry(38.0f, 5));
    	  
    	   
    	   xVals.add("01-07");
    	   yVals.add(new Entry(38.5f, 6));
    	   
    	   xVals.add("01-07");
    	   yVals.add(new Entry(36.5f, 7));
    	   
    	   xVals.add("01-07");
    	   yVals.add(new Entry(37.5f, 8));
    	   
    	   xVals.add("01-07");
    	   yVals.add(new Entry(38.5f, 9));
    	   
    	   xVals.add("01-07");
    	   yVals.add(new Entry(35.5f, 10));
    	   
    	   xVals.add("01-05");
    	   yVals.add(new Entry(37.5f, 11));
    	   
    	   xVals.add("01-06");
    	   yVals.add(new Entry(38.0f, 12));
    	   
    	   xVals.add("01-07");
    	   yVals.add(new Entry(38.5f, 13));
    	   
    	   xVals.add("01-07");
    	   yVals.add(new Entry(36.5f, 14));
    	   
    	   xVals.add("01-07");
    	   yVals.add(new Entry(37.5f, 15));
    	   
    	   xVals.add("01-07");
    	   yVals.add(new Entry(38.5f, 16));
    	   
    	   xVals.add("01-07");
    	   yVals.add(new Entry(35.5f, 17));
    	   
    	   xVals.add("01-05");
    	   yVals.add(new Entry(37.5f, 18));
    	   
    	   xVals.add("01-06");
    	   yVals.add(new Entry(38.0f, 19));
    	   
    	   xVals.add("01-07");
    	   yVals.add(new Entry(38.5f, 20));
    	   
    	   xVals.add("01-07");
    	   yVals.add(new Entry(36.5f, 21));
    	   
    	   xVals.add("01-07");
    	   yVals.add(new Entry(37.5f, 22));
    	   
    	   xVals.add("01-07");
    	   yVals.add(new Entry(38.5f, 23));
    	   
    	   xVals.add("01-07");
    	   yVals.add(new Entry(35.5f, 24));
    	   
    	   
    	   xVals.add("01-05");
    	   yVals.add(new Entry(37.5f, 25));
    	   
    	   xVals.add("01-06");
    	   yVals.add(new Entry(38.0f, 26));
    	   
    	   xVals.add("01-07");
    	   yVals.add(new Entry(38.5f, 27));
    	   
    	   xVals.add("01-07");
    	   yVals.add(new Entry(36.5f, 28));
    	   
    	   xVals.add("01-07");
    	   yVals.add(new Entry(37.5f, 29));
    	   
    	   xVals.add("01-07");
    	   yVals.add(new Entry(38.5f, 30));
    	   
    	   xVals.add("01-07");
    	   yVals.add(new Entry(35.5f, 31));
    	   
    	   
    	   xVals.add("01-05");
    	   yVals.add(new Entry(37.5f, 32));
    	   
    	   xVals.add("01-06");
    	   yVals.add(new Entry(38.0f, 33));
    	   
    	   xVals.add("01-07");
    	   yVals.add(new Entry(38.5f, 34));
    	   
    	   xVals.add("01-07");
    	   yVals.add(new Entry(36.5f, 35));
    	   
    	   xVals.add("01-07");
    	   yVals.add(new Entry(37.5f, 36));
    	   
    	   xVals.add("01-07");
    	   yVals.add(new Entry(38.5f, 37));
    	   
    	   xVals.add("01-07");
    	   yVals.add(new Entry(35.5f, 38));
    	   
    	   
    	   xVals.add("01-05");
    	   yVals.add(new Entry(37.5f, 39));
    	   
    	   xVals.add("01-06");
    	   yVals.add(new Entry(38.0f, 40));
    	   
    	   xVals.add("01-07");
    	   yVals.add(new Entry(38.5f, 41));
    	   
    	   xVals.add("01-07");
    	   yVals.add(new Entry(36.5f, 42));
    	   
    	   xVals.add("01-07");
    	   yVals.add(new Entry(37.5f, 43));
    	   
    	   xVals.add("01-07");
    	   yVals.add(new Entry(38.5f, 44));
    	   
    	   xVals.add("01-07");
    	   yVals.add(new Entry(35.5f, 45));
    	   
    	   
    	   xVals.add("01-05");
    	   yVals.add(new Entry(37.5f, 46));
    	   
    	   xVals.add("01-06");
    	   yVals.add(new Entry(38.0f, 47));
    	   
    	   xVals.add("01-07");
    	   yVals.add(new Entry(38.5f, 48));
    	   
    	   xVals.add("01-07");
    	   yVals.add(new Entry(36.5f, 49));
    	   
    	   xVals.add("01-07");
    	   yVals.add(new Entry(37.5f, 50));
    	   
    	   xVals.add("01-07");
    	   yVals.add(new Entry(38.5f, 51));
    	   
    	   xVals.add("01-07");
    	   yVals.add(new Entry(35.5f, 52));
    	   
    	   xVals.add("01-05");
    	   yVals.add(new Entry(37.5f, 53));
    	   
    	   xVals.add("01-06");
    	   yVals.add(new Entry(38.0f, 54));
    	   
    	   // 加上后可以解决  label显示一半的问题
    //	   xVals.add("");
    	   
    	   float scale = (float)(xVals.size() / 6.0);
    	   chat.zoom(scale, 0, 0, 0);
    	   
    	   // 是否绘制  Legend  下面的方块
    	   Legend legend = chat.getLegend();
    	   legend.setEnabled(false);
    	   
    	   LineDataSet set1 = new LineDataSet(yVals, "Content");
    	   
    //	   set1.setDrawValues(true);
    //	   set1.setDrawFilled(true);
    	   LineData lineData = new LineData(xVals, set1);
    //	   lineData.setDrawValues(true);
    	   chat.setData(lineData);
       } 
    }
    
  • 相关阅读:
    redis操作
    MySQL架构
    MySQL查询缓存
    MySQL数据备份与还原
    Sql性能优化
    Notepad++中每一行的开头和结尾添加引号?
    分组聚合
    Python3用scan和delete命令批量清理redis数据
    VUE+django
    python转化13位时间戳
  • 原文地址:https://www.cnblogs.com/jiayonghua/p/5257152.html
Copyright © 2011-2022 走看看