hellocharts 가방 사용 소감

11612 단어
우선 jar 패 키 지 를 Libs 에 가 져 온 다음 add 를 activity 에 들 어가 서 호출 합 니 다.
xml 에 레이아웃 추가
<lecho.lib.hellocharts.view.LineChartView
            android:id="@+id/line_chart"
            android:layout_width="fill_parent"
            android:layout_height="300dp"/>

하 나 는 가로 좌표 이 고, 하 나 는 데이터 점 배열 이다.
private LineChartView lineChart;

    String[] date = {"10-22","11-22","12-22","1-22","6-22","5-23","5-22","6-22","5-23","5-22"};//X    
    int[] score= {50,42,90,33,10,74,22,18,79,20};//      
    private List mPointValues = new ArrayList();
    private List mAxisXValues = new ArrayList();

oncreate 의 세 가지 방법:
 protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        lineChart = (LineChartView)findViewById(R.id.line_chart);
        getAxisXLables();//  x    
        getAxisPoints();//     
        initLineChart();//   
    }

방법의 구체 적 인 실현:
/**
     *   X     
     */
    private void getAxisXLables(){
        for (int i = 0; i < date.length; i++) {    
            mAxisXValues.add(new AxisValue(i).setLabel(date[i]));    
        }       
    }
    /**
     *          
     */
    private void getAxisPoints(){
        for (int i = 0; i < weather.length; i++) {    
            mPointValues.add(new PointValue(i, weather[i]));      
        } 

private void initLineChart(){
        Line line = new Line(mPointValues).setColor(Color.parseColor("#FFCD41"));  //     (  )
        List lines = new ArrayList();    
        line.setShape(ValueShape.CIRCLE);//                    (    :ValueShape.SQUARE  ValueShape.CIRCLE  ValueShape.DIAMOND)
        line.setCubic(false);//
        line.setFilled(false);//         
        line.setHasLabels(true);//             
//      line.setHasLabelsOnlyForSelected(true);//          (     line.setHasLabels(true);   )
        line.setHasLines(true);//      。   false            
        line.setHasPoints(true);//          false           (            )
        lines.add(line);  
        LineChartData data = new LineChartData();  
        data.setLines(lines);  

        //     
        Axis axisX = new Axis(); //X   
        axisX.setHasTiltedLabels(true);  //X              ,true        
        axisX.setTextColor(Color.WHITE);  //      
      //axisX.setName("date");  //    
        axisX.setTextSize(10);//      
        axisX.setMaxLabelChars(8); //    X   ,         X       7<=x<=mAxisXValues.length
        axisX.setValues(mAxisXValues);  //  X      
        data.setAxisXBottom(axisX); //x          
      //data.setAxisXTop(axisX);  //x     
        axisX.setHasLines(true); //x     

      // Y             Y   (         Y          )
        Axis axisY = new Axis();  //Y   
        axisY.setName("");//y   
        axisY.setTextSize(10);//      
        data.setAxisYLeft(axisY);  //Y      
      //data.setAxisYRight(axisY);  //y       


        //      ,    、        
        lineChart.setInteractive(true); 
        lineChart.setZoomType(ZoomType.HORIZONTAL);  
        lineChart.setMaxZoom((float) 2);//      
        lineChart.setContainerScrollEnabled(true, ContainerScrollType.HORIZONTAL);  
        lineChart.setLineChartData(data);  
        lineChart.setVisibility(View.VISIBLE);
        /** :   7,10             
         *        X       。 (http://forum.xda-developers.com/tools/programming/library-hellocharts-charting-library-t2904456/page2);
         */
        Viewport v = new Viewport(lineChart.getMaximumViewport()); 
          v.left = 0; 
          v.right= 7; 
          lineChart.setCurrentViewport(v); 
    }

x 축 데이터 표시 개 수 를 설정 합 니 다:
Viewport v = new Viewport(lineChart.getMaximumViewport()); 
          v.left = 0; 
          v.right= 7; 
          lineChart.setCurrentViewport(v); 
    4       X        (x 0-7   ),
  1            (29)   ,     hellochart        。
  2            (29)   ,    
     2.1      axisX.setMaxLabelChars(int count)   ,      X               。  
     2.2     axisX.setMaxLabelChars(int count)   , 33      , 
            2.2.1    axisX.setMaxLabelChars(10);    10  v.right= 7;    7,     X   7   ,       X         7  10
            2.2.2     v.right= 7;  7,                   - -! 
                          v.right= 7;    ,                  ,     

Y 축 개 수 를 고정 시 키 는 솔 루 션 은 0 - 100:
Axis axisY = new Axis().setHasLines(true);
axisY.setMaxLabelChars(6);//max label length, for example 60
List values = new ArrayList<>();
for(int i = 0; i < 100; i+= 10){
    AxisValue value = new AxisValue(i);
    String label = "";
    value.setLabel(label);
    values.add(value);
}
axisY.setValues(values);

마지막 으로 자기가 비례 에 따라 데 이 터 를 나 누 면 돼 요.
다음으로 전송:https://www.cnblogs.com/ShaoXin/p/6209371.html

좋은 웹페이지 즐겨찾기