hellocharts 가방 사용 소감
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
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.