Provide example for #1865
This commit is contained in:
parent
005c166e07
commit
19265217bd
3 changed files with 159 additions and 0 deletions
|
@ -64,6 +64,7 @@
|
|||
<activity android:name="StackedBarActivityNegative"></activity>
|
||||
<activity android:name=".realm.RealmWikiExample"></activity>
|
||||
<activity android:name=".BarChartPositiveNegative"></activity>
|
||||
<activity android:name=".FilledLineActivity"></activity>
|
||||
</application>
|
||||
|
||||
</manifest>
|
||||
|
|
|
@ -0,0 +1,150 @@
|
|||
|
||||
package com.xxmassdeveloper.mpchartexample;
|
||||
|
||||
import android.graphics.Color;
|
||||
import android.os.Bundle;
|
||||
import android.view.WindowManager;
|
||||
|
||||
import com.github.mikephil.charting.charts.LineChart;
|
||||
import com.github.mikephil.charting.components.Legend;
|
||||
import com.github.mikephil.charting.components.XAxis;
|
||||
import com.github.mikephil.charting.components.YAxis;
|
||||
import com.github.mikephil.charting.data.Entry;
|
||||
import com.github.mikephil.charting.data.LineData;
|
||||
import com.github.mikephil.charting.data.LineDataSet;
|
||||
import com.github.mikephil.charting.formatter.FillFormatter;
|
||||
import com.github.mikephil.charting.interfaces.dataprovider.LineDataProvider;
|
||||
import com.github.mikephil.charting.interfaces.datasets.ILineDataSet;
|
||||
import com.xxmassdeveloper.mpchartexample.notimportant.DemoBase;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class FilledLineActivity extends DemoBase {
|
||||
|
||||
private LineChart mChart;
|
||||
private int mFillColor = Color.argb(150, 51, 181, 229);
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
|
||||
WindowManager.LayoutParams.FLAG_FULLSCREEN);
|
||||
setContentView(R.layout.activity_linechart_noseekbar);
|
||||
|
||||
mChart = (LineChart) findViewById(R.id.chart1);
|
||||
mChart.setBackgroundColor(Color.WHITE);
|
||||
mChart.setGridBackgroundColor(mFillColor);
|
||||
mChart.setDrawGridBackground(true);
|
||||
|
||||
mChart.setDrawBorders(true);
|
||||
|
||||
// no description text
|
||||
mChart.setDescription("");
|
||||
|
||||
// if disabled, scaling can be done on x- and y-axis separately
|
||||
mChart.setPinchZoom(false);
|
||||
|
||||
Legend l = mChart.getLegend();
|
||||
l.setEnabled(false);
|
||||
|
||||
XAxis xAxis = mChart.getXAxis();
|
||||
xAxis.setEnabled(false);
|
||||
|
||||
YAxis leftAxis = mChart.getAxisLeft();
|
||||
leftAxis.setAxisMaxValue(900f);
|
||||
leftAxis.setAxisMinValue(-250f);
|
||||
leftAxis.setDrawAxisLine(false);
|
||||
leftAxis.setDrawZeroLine(false);
|
||||
leftAxis.setDrawGridLines(false);
|
||||
|
||||
mChart.getAxisRight().setEnabled(false);
|
||||
|
||||
// add data
|
||||
setData(100, 60);
|
||||
|
||||
mChart.invalidate();
|
||||
}
|
||||
|
||||
private void setData(int count, float range) {
|
||||
|
||||
ArrayList<Entry> yVals1 = new ArrayList<Entry>();
|
||||
|
||||
for (int i = 0; i < count; i++) {
|
||||
float val = (float) (Math.random() * range) + 50;// + (float)
|
||||
// ((mult *
|
||||
// 0.1) / 10);
|
||||
yVals1.add(new Entry(i, val));
|
||||
}
|
||||
|
||||
ArrayList<Entry> yVals2 = new ArrayList<Entry>();
|
||||
|
||||
for (int i = 0; i < count; i++) {
|
||||
float val = (float) (Math.random() * range) + 450;// + (float)
|
||||
// ((mult *
|
||||
// 0.1) / 10);
|
||||
yVals2.add(new Entry(i, val));
|
||||
}
|
||||
|
||||
LineDataSet set1, set2;
|
||||
|
||||
if (mChart.getData() != null &&
|
||||
mChart.getData().getDataSetCount() > 0) {
|
||||
set1 = (LineDataSet)mChart.getData().getDataSetByIndex(0);
|
||||
set2 = (LineDataSet)mChart.getData().getDataSetByIndex(1);
|
||||
set1.setValues(yVals1);
|
||||
set2.setValues(yVals2);
|
||||
mChart.getData().notifyDataChanged();
|
||||
mChart.notifyDataSetChanged();
|
||||
} else {
|
||||
// create a dataset and give it a type
|
||||
set1 = new LineDataSet(yVals1, "DataSet 1");
|
||||
|
||||
set1.setAxisDependency(YAxis.AxisDependency.LEFT);
|
||||
set1.setColor(Color.rgb(255, 241, 46));
|
||||
set1.setDrawCircles(false);
|
||||
set1.setLineWidth(2f);
|
||||
set1.setCircleRadius(3f);
|
||||
set1.setFillAlpha(255);
|
||||
set1.setDrawFilled(true);
|
||||
set1.setFillColor(Color.WHITE);
|
||||
set1.setHighLightColor(Color.rgb(244, 117, 117));
|
||||
set1.setDrawCircleHole(false);
|
||||
set1.setFillFormatter(new FillFormatter() {
|
||||
@Override
|
||||
public float getFillLinePosition(ILineDataSet dataSet, LineDataProvider dataProvider) {
|
||||
return mChart.getAxisLeft().getAxisMinimum();
|
||||
}
|
||||
});
|
||||
|
||||
// create a dataset and give it a type
|
||||
set2 = new LineDataSet(yVals2, "DataSet 2");
|
||||
set2.setAxisDependency(YAxis.AxisDependency.LEFT);
|
||||
set2.setColor(Color.rgb(255, 241, 46));
|
||||
set2.setDrawCircles(false);
|
||||
set2.setLineWidth(2f);
|
||||
set2.setCircleRadius(3f);
|
||||
set2.setFillAlpha(255);
|
||||
set2.setDrawFilled(true);
|
||||
set2.setFillColor(Color.WHITE);
|
||||
set2.setDrawCircleHole(false);
|
||||
set2.setHighLightColor(Color.rgb(244, 117, 117));
|
||||
set2.setFillFormatter(new FillFormatter() {
|
||||
@Override
|
||||
public float getFillLinePosition(ILineDataSet dataSet, LineDataProvider dataProvider) {
|
||||
return mChart.getAxisLeft().getAxisMaximum();
|
||||
}
|
||||
});
|
||||
|
||||
ArrayList<ILineDataSet> dataSets = new ArrayList<ILineDataSet>();
|
||||
dataSets.add(set1); // add the datasets
|
||||
dataSets.add(set2);
|
||||
|
||||
// create a data object with the datasets
|
||||
LineData data = new LineData(dataSets);
|
||||
data.setDrawValues(false);
|
||||
|
||||
// set data
|
||||
mChart.setData(data);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -24,6 +24,7 @@ import com.xxmassdeveloper.mpchartexample.CandleStickChartActivity;
|
|||
import com.xxmassdeveloper.mpchartexample.CombinedChartActivity;
|
||||
import com.xxmassdeveloper.mpchartexample.CubicLineChartActivity;
|
||||
import com.xxmassdeveloper.mpchartexample.DynamicalAddingActivity;
|
||||
import com.xxmassdeveloper.mpchartexample.FilledLineActivity;
|
||||
import com.xxmassdeveloper.mpchartexample.HorizontalBarChartActivity;
|
||||
import com.xxmassdeveloper.mpchartexample.InvertedLineChartActivity;
|
||||
import com.xxmassdeveloper.mpchartexample.LineChartActivity1;
|
||||
|
@ -139,6 +140,9 @@ public class MainActivity extends Activity implements OnItemClickListener {
|
|||
"Simple demonstration of a time-chart. This chart draws one line entry per hour originating from the current time in milliseconds.");
|
||||
time.isNew = true;
|
||||
objects.add(time);
|
||||
objects.add(new ContentItem(
|
||||
"Filled LineChart",
|
||||
"This demonstrates how to fill an area between two LineDataSets."));
|
||||
|
||||
MyAdapter adapter = new MyAdapter(this, objects);
|
||||
|
||||
|
@ -274,6 +278,10 @@ public class MainActivity extends Activity implements OnItemClickListener {
|
|||
i = new Intent(this, LineChartTime.class);
|
||||
startActivity(i);
|
||||
break;
|
||||
case 30:
|
||||
i = new Intent(this, FilledLineActivity.class);
|
||||
startActivity(i);
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue