/* | |
* Copyright 2012 AndroidPlot.com | |
* | |
* Licensed under the Apache License, Version 2.0 (the "License"); | |
* you may not use this file except in compliance with the License. | |
* You may obtain a copy of the License at | |
* | |
* http://www.apache.org/licenses/LICENSE-2.0 | |
* | |
* Unless required by applicable law or agreed to in writing, software | |
* distributed under the License is distributed on an "AS IS" BASIS, | |
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
* See the License for the specific language governing permissions and | |
* limitations under the License. | |
*/ | |
package com.androidplot.demos; | |
import android.app.Activity; | |
import android.os.Bundle; | |
import android.view.WindowManager; | |
import com.androidplot.xy.SimpleXYSeries; | |
import com.androidplot.xy.XYSeries; | |
import com.androidplot.xy.*; | |
import java.util.Arrays; | |
/** | |
* A straightforward example of using AndroidPlot to plot some data. | |
*/ | |
public class SimpleXYPlotActivity extends Activity | |
{ | |
private XYPlot plot; | |
@Override | |
public void onCreate(Bundle savedInstanceState) | |
{ | |
super.onCreate(savedInstanceState); | |
// fun little snippet that prevents users from taking screenshots | |
// on ICS+ devices :-) | |
getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE, | |
WindowManager.LayoutParams.FLAG_SECURE); | |
setContentView(R.layout.simple_xy_plot_example); | |
// initialize our XYPlot reference: | |
plot = (XYPlot) findViewById(R.id.mySimpleXYPlot); | |
// Create a couple arrays of y-values to plot: | |
Number[] series1Numbers = {1, 8, 5, 2, 7, 4}; | |
Number[] series2Numbers = {4, 6, 3, 8, 2, 10}; | |
// Turn the above arrays into XYSeries': | |
XYSeries series1 = new SimpleXYSeries( | |
Arrays.asList(series1Numbers), // SimpleXYSeries takes a List so turn our array into a List | |
SimpleXYSeries.ArrayFormat.Y_VALS_ONLY, // Y_VALS_ONLY means use the element index as the x value | |
"Series1"); // Set the display title of the series | |
// same as above | |
XYSeries series2 = new SimpleXYSeries(Arrays.asList(series2Numbers), SimpleXYSeries.ArrayFormat.Y_VALS_ONLY, "Series2"); | |
// Create a formatter to use for drawing a series using LineAndPointRenderer | |
// and configure it from xml: | |
LineAndPointFormatter series1Format = new LineAndPointFormatter(); | |
series1Format.setPointLabelFormatter(new PointLabelFormatter()); | |
series1Format.configure(getApplicationContext(), | |
R.xml.line_point_formatter_with_plf1); | |
// add a new series' to the xyplot: | |
plot.addSeries(series1, series1Format); | |
// same as above: | |
LineAndPointFormatter series2Format = new LineAndPointFormatter(); | |
series2Format.setPointLabelFormatter(new PointLabelFormatter()); | |
series2Format.configure(getApplicationContext(), | |
R.xml.line_point_formatter_with_plf2); | |
plot.addSeries(series2, series2Format); | |
// reduce the number of range labels | |
plot.setTicksPerRangeLabel(3); | |
plot.getGraphWidget().setDomainLabelOrientation(-45); | |
} | |
} |