在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屬性設(shè)置:
chart.setZoomEnabled(boolean isZoomEnabled)//設(shè)置是否支持縮放
chart.setOnValueTouchListener(LineChartOnValueSelectListener touchListener);//為圖表設(shè)置值得觸摸事件
chart.setInteractive(boolean isInteractive);//設(shè)置圖表是否可以與用戶互動
chart.setValueSelectionEnabled(boolean idValueSelectionEnabled);//設(shè)置圖表數(shù)據(jù)是否選中進行顯示
chart.setLineChartData(LineChartData data);//為圖表設(shè)置數(shù)據(jù)褒墨,數(shù)據(jù)類型為LineChartData
設(shè)置節(jié)點、X、Y軸屬性及添加數(shù)據(jù):
List<PointValue> pointValues = new ArrayList<PointValue>();// 節(jié)點數(shù)據(jù)結(jié)合
Axis axisY = new Axis().setHasLines(true);// Y軸屬性
Axis axisX = new Axis();// X軸屬性
axisY.setName(String yName);//設(shè)置Y軸顯示名稱
axisX.setName(String xName);//設(shè)置X軸顯示名稱
ArrayList<AxisValue> axisValuesX = new ArrayList<AxisValue>();//定義X軸刻度值的數(shù)據(jù)集合
ArrayList<AxisValue> axisValuesY = new ArrayList<AxisValue>();//定義Y軸刻度值的數(shù)據(jù)集合
axisX.setValues(axisValuesX);//為X軸顯示的刻度值設(shè)置數(shù)據(jù)集合
axisX.setLineColor(Color.BLACK);// 設(shè)置X軸軸線顏色
axisY.setLineColor(Color.BLACK);// 設(shè)置Y軸軸線顏色
axisX.setTextColor(Color color);// 設(shè)置X軸文字顏色
axisY.setTextColor(Color color);// 設(shè)置Y軸文字顏色
axisX.setTextSize(14);// 設(shè)置X軸文字大小
axisX.setTypeface(Typeface.DEFAULT);// 設(shè)置文字樣式咆霜,此處為默認(rèn)
axisX.setHasTiltedLabels(bolean isHasTit);// 設(shè)置X軸文字向左旋轉(zhuǎn)45度
axisX.setHasLines(boolean isHasLines);// 是否顯示X軸網(wǎng)格線
axisY.setHasLines(boolean isHasLines);// 是否顯示Y軸網(wǎng)格線
axisX.setHasSeparationLine(boolean isHasSeparationLine);// 設(shè)置是否有分割線
axisX.setInside(boolean isInside);// 設(shè)置X軸文字是否在X軸內(nèi)部
for (int j = 0; j < list.size(); j++) {//循環(huán)為節(jié)點注益、X、Y軸添加數(shù)據(jù)
pointValues.add(new PointValue(j, float v));// 添加節(jié)點數(shù)據(jù)
axisValuesY.add(new AxisValue(j).setValue(j));// 添加Y軸顯示的刻度值
axisValuesX.add(new AxisValue(j).setValue(j).setLabel(
String label));// 添加X軸顯示的刻度值
}
設(shè)置折線Line的屬性:
List<Line> lines = new ArrayList<Line>();//定義線的集合
Line line = new Line(List<PointValue> pointValues);//將值設(shè)置給折線
line.setColor(Color color);// 設(shè)置折線顏色
line.setStrokeWidth(float w);// 設(shè)置折線寬度
line.setFilled(boolean isFilled);// 設(shè)置折線覆蓋區(qū)域是否填充
line.setCubic(boolean isCubic);// 是否設(shè)置為立體的
line.setPointColor(Color color);// 設(shè)置節(jié)點顏色
line.setPointRadius(float s);// 設(shè)置節(jié)點半徑
line.setHasLabels(boolean isHasLabels);// 是否顯示節(jié)點數(shù)據(jù)
line.setHasLines(boolean isHasLines);// 是否顯示折線
line.setHasPoints(boolean isHasPoint);// 是否顯示節(jié)點
line.setShape(ValueShape.CIRCLE);// 節(jié)點圖形樣式 DIAMOND菱形墙杯、SQUARE方形配并、CIRCLE圓形
line.setHasLabelsOnlyForSelected(boolean isHasLabelsOnly);// 隱藏數(shù)據(jù),觸摸可以顯示
lines.add(line);// 將數(shù)據(jù)集合添加線
設(shè)置LineChartData屬性及為chart設(shè)置數(shù)據(jù):
chartData = new LineChartData(lines);//將線的集合設(shè)置為折線圖的數(shù)據(jù)
chartData.setAxisYLeft(axisY);// 將Y軸屬性設(shè)置到左邊
chartData.setAxisXBottom(axisX);// 將X軸屬性設(shè)置到底部
chartData.setAxisYRight(axisYRight);//設(shè)置右邊顯示的軸
chartData.setAxisXTop(axisXTop);//設(shè)置頂部顯示的軸
chartData.setBaseValue(20);// 設(shè)置反向覆蓋區(qū)域顏色
chartData.setValueLabelBackgroundAuto(false);// 設(shè)置數(shù)據(jù)背景是否跟隨節(jié)點顏色
chartData.setValueLabelBackgroundColor(Color.BLUE);// 設(shè)置數(shù)據(jù)背景顏色
chartData.setValueLabelBackgroundEnabled(false);// 設(shè)置是否有數(shù)據(jù)背景
chartData.setValueLabelsTextColor(Color.BLACK);// 設(shè)置數(shù)據(jù)文字顏色
chartData.setValueLabelTextSize(15);// 設(shè)置數(shù)據(jù)文字大小
chartData.setValueLabelTypeface(Typeface.MONOSPACE);// 設(shè)置數(shù)據(jù)文字樣式
chart.setLineChartData(LineChartData data);//最后為圖表設(shè)置數(shù)據(jù)高镐,數(shù)據(jù)類型為LineChartData
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者