org.achartengine.ChartFactory Java Examples
The following examples show how to use
org.achartengine.ChartFactory.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: ReportActivity.java From financisto with GNU General Public License v2.0 | 6 votes |
private Intent createPieChart() { DefaultRenderer renderer = new DefaultRenderer(); renderer.setLabelsTextSize(getResources().getDimension(R.dimen.report_labels_text_size)); renderer.setLegendTextSize(getResources().getDimension(R.dimen.report_legend_text_size)); renderer.setMargins(new int[] { 0, 0, 0, 0 }); ReportData report = currentReport.getReportForChart(db, WhereFilter.copyOf(filter)); CategorySeries series = new CategorySeries("AAA"); long total = Math.abs(report.total.amount)+Math.abs(report.total.balance); int[] colors = generateColors(2*report.units.size()); int i = 0; for (GraphUnit unit : report.units) { addSeries(series, renderer, unit.name, unit.getIncomeExpense().income, total, colors[i++]); addSeries(series, renderer, unit.name, unit.getIncomeExpense().expense, total, colors[i++]); } renderer.setZoomButtonsVisible(true); renderer.setZoomEnabled(true); renderer.setChartTitleTextSize(20); return ChartFactory.getPieChartIntent(ReportActivity.this, series, renderer, getString(R.string.report)); }
Example #2
Source File: TwoFragment.java From accountBook with Apache License 2.0 | 5 votes |
/** * 生成饼图 */ private void initPieChart(View v){ CategorySeries dataset = buildCategoryDataset("图文报表", values); DefaultRenderer renderer = buildCategoryRenderer(colors); ll_expense_piechart = (LinearLayout) v.findViewById(R.id.ll_expense_piechart); ll_expense_piechart.removeAllViews(); graphicalView = ChartFactory.getPieChartView(getContext() ,dataset, renderer);//饼状图 graphicalView.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); ll_expense_piechart.addView(graphicalView); }
Example #3
Source File: LineGraphView.java From Android-nRF-Toolbox with BSD 3-Clause "New" or "Revised" License | 4 votes |
/** * return graph view to activity */ GraphicalView getView(@NonNull final Context context) { return ChartFactory.getLineChartView(context, dataSet, multiRenderer); }
Example #4
Source File: MainActivity.java From HeartRate with Apache License 2.0 | 4 votes |
/** * ��ʼ������ */ @SuppressWarnings("deprecation") private void initConfig() { //���� context = getApplicationContext(); //������main�����ϵIJ��֣�������ͼ��������������� LinearLayout layout = (LinearLayout)findViewById(R.id.id_linearLayout_graph); //������������������ϵ����е㣬��һ����ļ��ϣ�������Щ�㻭������ series = new XYSeries(title); //����һ�����ݼ���ʵ����������ݼ�������������ͼ�� mDataset = new XYMultipleSeriesDataset(); //���㼯��ӵ�������ݼ��� mDataset.addSeries(series); //���¶������ߵ���ʽ�����Եȵȵ����ã�renderer�൱��һ��������ͼ������Ⱦ�ľ�� int color = Color.GREEN; PointStyle style = PointStyle.CIRCLE; renderer = buildRenderer(color, style, true); //���ú�ͼ�����ʽ setChartSettings(renderer, "X", "Y", 0, 300, 4, 16, Color.WHITE, Color.WHITE); //����ͼ�� chart = ChartFactory.getLineChartView(context, mDataset, renderer); //��ͼ����ӵ�������ȥ layout.addView(chart, new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); //�����Handlerʵ������������Timerʵ������ɶ�ʱ����ͼ��Ĺ��� handler = new Handler() { @Override public void handleMessage(Message msg) { //ˢ��ͼ�� updateChart(); super.handleMessage(msg); } }; task = new TimerTask() { @Override public void run() { Message message = new Message(); message.what = 1; handler.sendMessage(message); } }; timer.schedule(task, 1,20); //���� //��ȡSurfaceView�ؼ� preview = (SurfaceView) findViewById(R.id.id_preview); previewHolder = preview.getHolder(); previewHolder.addCallback(surfaceCallback); previewHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); mTV_Heart_Rate = (TextView) findViewById(R.id.id_tv_heart_rate); mTV_Avg_Pixel_Values = (TextView) findViewById(R.id.id_tv_Avg_Pixel_Values); mTV_pulse = (TextView) findViewById(R.id.id_tv_pulse); PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE); wakeLock = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK, "DoNotDimScreen"); }
Example #5
Source File: ChartActivity.java From AndrOBD with GNU General Public License v3.0 | 4 votes |
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); // keep main display on? if(MainActivity.prefs.getBoolean("keep_screen_on", false)) { getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); } // prevent activity from falling asleep PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE); wakeLock = Objects.requireNonNull(powerManager).newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, getString(R.string.app_name)); wakeLock.acquire(); // set up action bar ActionBar actionBar = getActionBar(); if (actionBar != null) { actionBar.setDisplayShowTitleEnabled(true); } setTitle(R.string.chart); /* get PIDs to be shown */ int positions[] = getIntent().getIntArrayExtra(POSITIONS); // set up overall chart properties sensorData = new XYMultipleSeriesDataset(); renderer = new XYMultipleSeriesRenderer(positions.length); chartView = ChartFactory.getTimeChartView(this, sensorData, renderer, "H:mm:ss"); // set up global renderer renderer.setXTitle(getString(R.string.time)); renderer.setXLabels(5); renderer.setYLabels(5); renderer.setGridColor(Color.DKGRAY); renderer.setShowGrid(true); renderer.setFitLegend(true); renderer.setClickEnabled(false); // set up chart data setUpChartData(positions); // make chart visible setContentView(chartView); // limit selected PIDs to selection MainActivity.setFixedPids(pidNumbers); // if auto hiding selected ... if(MainActivity.prefs.getBoolean(MainActivity.PREF_AUTOHIDE,false)) { // get autohide timeout [s] int timeout = Integer.valueOf( MainActivity.prefs.getString(MainActivity.PREF_AUTOHIDE_DELAY,"15") ); // auto hide toolbar toolBarHider = new AutoHider( this, mHandler, timeout * 1000); toolBarHider.start(1000); // wake up on touch chartView.setOnTouchListener(toolBarHider); } }
Example #6
Source File: SensorValuesChart.java From gsn with GNU General Public License v3.0 | 4 votes |
public Intent execute(Context context) { String[] titles = new String[] { title }; List<Date[]> xd = new ArrayList<Date[]>(); List<double[]> yd = new ArrayList<double[]>(); int numOfValue = y.size(); Date[] dates = new Date[numOfValue]; double[] values = new double[numOfValue]; for (int j = 0; j < numOfValue; j++) { dates[j] = new Date(x.get(j)); values[j] = y.get(j); } xd.add(dates); yd.add(values); double minY = Collections.min(y); double maxY = Collections.max(y); int[] colors = new int[] { Color.GREEN }; PointStyle[] styles = new PointStyle[] { PointStyle.CIRCLE }; XYMultipleSeriesRenderer renderer = buildRenderer(colors, styles); int length = renderer.getSeriesRendererCount(); for (int i = 0; i < length; i++) { ((XYSeriesRenderer) renderer.getSeriesRendererAt(i)).setFillPoints(true); } setChartSettings(renderer, title + " from " + vsName, "Time", title, x.get(0), x.get(numOfValue - 1), minY * 2 - maxY, maxY * 2 - minY, Color.LTGRAY, Color.LTGRAY); renderer.setXLabels(10); renderer.setYLabels(10); renderer.setShowGrid(true); renderer.setXLabelsAlign(Align.CENTER); renderer.setYLabelsAlign(Align.RIGHT); Intent intent = ChartFactory.getTimeChartIntent(context, buildDateDataset(titles, xd, yd), renderer, "h:mm a"); return intent; }
Example #7
Source File: StatsChart.java From PressureNet with GNU General Public License v3.0 | 4 votes |
public View drawChart(ArrayList<CbStats> statsList) { // System.out.println("drawing chart " + obsList.size() + // " data points"); if (statsList.size() <= 2) { Toast.makeText(context, context.getString(R.string.noDataToPlot), Toast.LENGTH_SHORT).show(); } String[] titles = new String[] { "" }; List<Date[]> x = new ArrayList<Date[]>(); List<double[]> values = new ArrayList<double[]>(); int length = titles.length; int count = statsList.size(); Date[] xValues = new Date[count]; double[] yValues = new double[count]; // TODO: Expand to multiple observations // currently only pressure double minObservation = 1200; double maxObservation = 0; long minTime = System.currentTimeMillis(); long maxTime = System.currentTimeMillis() - (1000 * 60 * 60 * 24 * 7); int i = 0; for(CbStats stat : statsList) { if (i>0) { double previous = yValues[i-1]; if (Math.abs(stat.getMean() - previous) > 30) { stat.setMean(previous); } } xValues[i] = new Date(stat.getTimeStamp()); yValues[i] = stat.getMean(); //log(xValues[i] + " " + yValues[i]); if (stat.getMean() < minObservation) { minObservation = stat.getMean(); } if (stat.getMean() > maxObservation) { maxObservation = stat.getMean(); } if (stat.getTimeStamp() < minTime) { minTime = stat.getTimeStamp(); } if (stat.getTimeStamp() > maxTime) { maxTime = stat.getTimeStamp(); } i++; } x.add(xValues); values.add(yValues); int[] colors = new int[count]; for (i = 0; i < count; i++) { colors[i] = Color.rgb(51, 181, 229); } PointStyle[] styles = new PointStyle[] { PointStyle.CIRCLE }; XYMultipleSeriesRenderer renderer = buildRenderer(colors, styles, statsList); int axesColor = Color.rgb(0, 0, 0); int labelColor = Color.rgb(0, 0, 0); setChartSettings(renderer, "Pressure", "Time", "Pressure", minTime, maxTime, minObservation, maxObservation, axesColor, labelColor); renderer.setXLabels(0); renderer.setYLabels(5); length = renderer.getSeriesRendererCount(); for (i = 0; i < length; i++) { ((XYSeriesRenderer) renderer.getSeriesRendererAt(i)) .setFillPoints(true); } XYMultipleSeriesDataset dataset = buildDataset(titles, statsList); int total = dataset.getSeriesCount(); return ChartFactory.getLineChartView(context, dataset, renderer); }