HelloChart--LineChartView(折線圖)

在XML中的定義:

        <lecho.lib.hellocharts.view.LineChartView

            android:id="@+id/linechart"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content" >

        </lecho.lib.hellocharts.view.LineChartView>

控件實例化:


       LineChartView lineChart;
       lineChart = (LineChartView) findViewById(R.id.linechart);

chart屬性設置:

chart.setZoomEnabled(boolean isZoomEnabled)//設置是否支持縮放
chart.setOnValueTouchListener(LineChartOnValueSelectListener touchListener);//爲圖表設置值得觸摸事件
chart.setInteractive(boolean isInteractive);//設置圖表是否可以與用戶互動
chart.setValueSelectionEnabled(boolean idValueSelectionEnabled);//設置圖表數據是否選中進行顯示
chart.setLineChartData(LineChartData data);//爲圖表設置數據,數據類型爲LineChartData

設置節點、X、Y軸屬性及添加數據:


        List<PointValue> pointValues = new ArrayList<PointValue>();// 節點數據結合
        Axis axisY = new Axis().setHasLines(true);// Y軸屬性
        Axis axisX = new Axis();// X軸屬性
        axisY.setName(String yName);//設置Y軸顯示名稱
        axisX.setName(String xName);//設置X軸顯示名稱
        ArrayList<AxisValue> axisValuesX = new ArrayList<AxisValue>();//定義X軸刻度值的數據集合
               ArrayList<AxisValue> axisValuesY = new ArrayList<AxisValue>();//定義Y軸刻度值的數據集合
        axisX.setValues(axisValuesX);//爲X軸顯示的刻度值設置數據集合
        axisX.setLineColor(Color.BLACK);// 設置X軸軸線顏色
        axisY.setLineColor(Color.BLACK);// 設置Y軸軸線顏色
        axisX.setTextColor(Color color);// 設置X軸文字顏色
        axisY.setTextColor(Color color);// 設置Y軸文字顏色
        axisX.setTextSize(14);// 設置X軸文字大小
        axisX.setTypeface(Typeface.DEFAULT);// 設置文字樣式,此處爲默認
        axisX.setHasTiltedLabels(bolean isHasTit);// 設置X軸文字向左旋轉45度
        axisX.setHasLines(boolean isHasLines);// 是否顯示X軸網格線
                axisY.setHasLines(boolean isHasLines);// 是否顯示Y軸網格線
        axisX.setHasSeparationLine(boolean isHasSeparationLine);// 設置是否有分割線
        axisX.setInside(boolean isInside);// 設置X軸文字是否在X軸內部
        for (int j = 0; j < list.size(); j++) {//循環爲節點、X、Y軸添加數據
            pointValues.add(new PointValue(j, float v));// 添加節點數據
             axisValuesY.add(new AxisValue(j).setValue(j));// 添加Y軸顯示的刻度值
            axisValuesX.add(new AxisValue(j).setValue(j).setLabel(
                    String label));// 添加X軸顯示的刻度值
        }

設置折線Line的屬性:

        List<Line> lines = new ArrayList<Line>();//定義線的集合
        Line line = new Line(List<PointValue> pointValues);//將值設置給折線
        line.setColor(Color color);// 設置折線顏色
        line.setStrokeWidth(float w);// 設置折線寬度
        line.setFilled(boolean isFilled);// 設置折線覆蓋區域是否填充
        line.setCubic(boolean isCubic);// 是否設置爲立體的
        line.setPointColor(Color color);// 設置節點顏色
        line.setPointRadius(float s);// 設置節點半徑
        line.setHasLabels(boolean isHasLabels);// 是否顯示節點數據
        line.setHasLines(boolean isHasLines);// 是否顯示折線
        line.setHasPoints(boolean isHasPoint);// 是否顯示節點
        line.setShape(ValueShape.CIRCLE);// 節點圖形樣式 DIAMOND菱形、SQUARE方形、CIRCLE圓形
        line.setHasLabelsOnlyForSelected(boolean isHasLabelsOnly);// 隱藏數據,觸摸可以顯示
        lines.add(line);// 將數據集合添加線

設置LineChartData屬性及爲chart設置數據:

        chartData = new LineChartData(lines);//將線的集合設置爲折線圖的數據
        chartData.setAxisYLeft(axisY);// 將Y軸屬性設置到左邊
        chartData.setAxisXBottom(axisX);// 將X軸屬性設置到底部
        chartData.setAxisYRight(axisYRight);//設置右邊顯示的軸
        chartData.setAxisXTop(axisXTop);//設置頂部顯示的軸
        chartData.setBaseValue(20);// 設置反向覆蓋區域顏色
        chartData.setValueLabelBackgroundAuto(false);// 設置數據背景是否跟隨節點顏色
        chartData.setValueLabelBackgroundColor(Color.BLUE);// 設置數據背景顏色
        chartData.setValueLabelBackgroundEnabled(false);// 設置是否有數據背景
        chartData.setValueLabelsTextColor(Color.BLACK);// 設置數據文字顏色
        chartData.setValueLabelTextSize(15);// 設置數據文字大小
        chartData.setValueLabelTypeface(Typeface.MONOSPACE);// 設置數據文字樣式
        chart.setLineChartData(LineChartData data);//最後爲圖表設置數據,數據類型爲LineChartData
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章