저는 aChartEngine을 사용하여 일부 barchart를 생성했습니다. 하나의 활동 안에 9 개의 서로 다른 바카르트가 있습니다. 내 문제는 이들이 높은 경우 차트 값을 볼 수 없다는 것입니다.AChartAngine Barchart 줌 범위 밖의 값
layout_height 매개 변수를 fill_parent 또는 wrap_content로 변경하려고했습니다. 그러나 전체 차트는 보이지 않습니다. 따라서 layout_height에 대한 수정 값을 사용해야합니다.
하지만 차트를 변경하여 모든 차트 값을 보려면 어떻게해야합니까?
두 장의 사진을 첨부하겠습니다. 작은 값을 가진 barchart 중 하나와 표시되지 않는 큰 값을 가진 barchart 중 하나입니다.
사진 1 : Small values all looks good, 사진 2 : One big Value, Chart value is not displayed
내 레이아웃은 다음
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:id="@+id/barchart_diagram_scrollview_parent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android">
<ScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<LinearLayout android:id="@+id/barchart_diagram_parent"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout
android:id="@+id/chart_container_szenario1"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="380dp">
</LinearLayout>
<LinearLayout
android:id="@+id/chart_container_szenario2"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="350dp">
</LinearLayout>
<LinearLayout
android:id="@+id/chart_container_szenario3"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="350dp">
</LinearLayout>
<LinearLayout
android:id="@+id/chart_container_szenario4"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="350dp">
</LinearLayout>
<LinearLayout
android:id="@+id/chart_container_szenario5"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="350dp">
</LinearLayout>
<LinearLayout
android:id="@+id/chart_container_szenario6"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="350dp">
</LinearLayout>
<LinearLayout
android:id="@+id/chart_container_szenario7"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="350dp">
</LinearLayout>
<LinearLayout
android:id="@+id/chart_container_szenario8"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="350dp">
</LinearLayout>
<LinearLayout
android:id="@+id/chart_container_szenario9"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="350dp">
</LinearLayout>
</LinearLayout>
</ScrollView>
</LinearLayout>
이이 차트 생성 내 코드입니다 다음 변경
dataset[szenario-1] = new XYMultipleSeriesDataset();
multiRenderer[szenario-1] = new XYMultipleSeriesRenderer();
couchseries[szenario-1] = new XYSeries("CouchBase");
couchseries[szenario-1].add(1, szenarioXSizes[0]);
perstseries[szenario-1] = new XYSeries("PerstDB");
perstseries[szenario-1].add(2, szenarioXSizes[1]);
sqliteseries[szenario-1] = new XYSeries("SQLite");
sqliteseries[szenario-1].add(3, szenarioXSizes[2]);
//Formatierung
couchRenderer[szenario-1] = new XYSeriesRenderer();
couchRenderer[szenario-1].setColor(Color.RED);
couchRenderer[szenario-1].setDisplayChartValues(true);
couchRenderer[szenario-1].setChartValuesTextSize(40);
perstRenderer[szenario-1] = new XYSeriesRenderer();
perstRenderer[szenario-1].setColor(Color.GREEN);
perstRenderer[szenario-1].setDisplayChartValues(true);
perstRenderer[szenario-1].setChartValuesTextSize(40);
sqliteRenderer[szenario-1] = new XYSeriesRenderer();
sqliteRenderer[szenario-1].setColor(Color.BLUE);
sqliteRenderer[szenario-1].setDisplayChartValues(true);
sqliteRenderer[szenario-1].setChartValuesTextSize(40);
//Min Max X Werte ermitteln
min[szenario-1] = 0;
max[szenario-1] = 0;
for(int i = 0; i < szenarioXSizes.length; i++) {
if(szenarioXSizes[i] < min[szenario-1])
min[szenario-1] = szenarioXSizes[i];
if(szenarioXSizes[i] > max[szenario-1])
max[szenario-1] = szenarioXSizes[i];
}
MainActivity.log("Gerding", "min: " + min[szenario-1] + " max: " + max[szenario-1]);
//Achsen
multiRenderer[szenario-1].addSeriesRenderer(couchRenderer[szenario-1]);
multiRenderer[szenario-1].addSeriesRenderer(perstRenderer[szenario-1]);
multiRenderer[szenario-1].addSeriesRenderer(sqliteRenderer[szenario-1]);
multiRenderer[szenario-1].setYAxisMin(0.0);
multiRenderer[szenario-1].setYAxisMax(max[szenario-1] + 100);
multiRenderer[szenario-1].setXAxisMin(0);
multiRenderer[szenario-1].setXAxisMax(4);
multiRenderer[szenario-1].setLabelsTextSize(20);
multiRenderer[szenario-1].setLegendTextSize(30);
multiRenderer[szenario-1].setZoomRate(2);
multiRenderer[szenario-1].setXTitle("Datenbank");
multiRenderer[szenario-1].setYTitle("Speicherplatz in Bytes");
multiRenderer[szenario-1].setAxisTitleTextSize(30);
multiRenderer[szenario-1].setChartTitle("Szenario " + szenario);
multiRenderer[szenario-1].setChartTitleTextSize(40);
multiRenderer[szenario-1].setPanEnabled(false,false);
multiRenderer[szenario-1].setZoomEnabled(false, false);
//Sets the margins, in pixels. order: top, left, bottom, right
multiRenderer[szenario-1].setMargins(new int[]{80, 80, 65, 80});
//Farbgebung
multiRenderer[szenario-1].setApplyBackgroundColor(true);
multiRenderer[szenario-1].setBackgroundColor(Color.WHITE);
multiRenderer[szenario-1].setMarginsColor(Color.WHITE);
multiRenderer[szenario-1].setLabelsColor(Color.BLACK);
multiRenderer[szenario-1].setGridColor(Color.BLACK);
multiRenderer[szenario-1].setXLabelsColor(Color.BLACK);
multiRenderer[szenario-1].setYLabelsColor(0,Color.BLACK);
multiRenderer[szenario-1].setXAxisColor(Color.BLACK);
multiRenderer[szenario-1].setYAxisColor(Color.BLACK);
multiRenderer[szenario-1].clearXTextLabels();
multiRenderer[szenario-1].setXLabels(0);
dataset[szenario-1].addSeries(couchseries[szenario-1]);
dataset[szenario-1].addSeries(perstseries[szenario-1]);
dataset[szenario-1].addSeries(sqliteseries[szenario-1]);
chartContainer[szenario-1] = (LinearLayout) findViewById(chartContainerID[szenario-1]);
types[szenario-1] = new CombinedXYChart.XYCombinedChartDef[]
{
new CombinedXYChart.XYCombinedChartDef(BarChart.TYPE, 0),
new CombinedXYChart.XYCombinedChartDef(BarChart.TYPE, 1),
new CombinedXYChart.XYCombinedChartDef(BarChart.TYPE, 2)
};
mChart[szenario-1] = (GraphicalView) ChartFactory.getCombinedXYChartView(getBaseContext(), dataset[szenario-1], multiRenderer[szenario-1], types[szenario-1]);
mChart[szenario-1].setBackgroundColor(Color.WHITE);
// Adding the Combined Chart to the LinearLayout
chartContainer[szenario-1].addView(mChart[szenario-1]);
}