Java Code Examples for com.github.mikephil.charting.data.PieDataSet#setColors()
The following examples show how to use
com.github.mikephil.charting.data.PieDataSet#setColors() .
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: LoadFolderSpaceData.java From PowerFileExplorer with GNU General Public License v3.0 | 6 votes |
private void updateChart(String totalSpace, List<PieEntry> entries) { boolean isDarkTheme = appTheme.getMaterialDialogTheme() == Theme.DARK; PieDataSet set = new PieDataSet(entries, null); set.setColors(COLORS); set.setXValuePosition(PieDataSet.ValuePosition.OUTSIDE_SLICE); set.setYValuePosition(PieDataSet.ValuePosition.OUTSIDE_SLICE); set.setSliceSpace(5f); set.setAutomaticallyDisableSliceSpacing(true); set.setValueLinePart2Length(1.05f); set.setSelectionShift(0f); PieData pieData = new PieData(set); pieData.setValueFormatter(new GeneralDialogCreation.SizeFormatter(context)); pieData.setValueTextColor(isDarkTheme? Color.WHITE:Color.BLACK); chart.setCenterText(new SpannableString(context.getString(R.string.total) + "\n" + totalSpace)); chart.setData(pieData); }
Example 2
Source File: SimpleFragment.java From StockChart-MPAndroidChart with MIT License | 6 votes |
/** * generates less data (1 DataSet, 4 values) * @return PieData */ protected PieData generatePieData() { int count = 4; ArrayList<PieEntry> entries1 = new ArrayList<>(); for(int i = 0; i < count; i++) { entries1.add(new PieEntry((float) ((Math.random() * 60) + 40), "Quarter " + (i+1))); } PieDataSet ds1 = new PieDataSet(entries1, "Quarterly Revenues 2015"); ds1.setColors(ColorTemplate.VORDIPLOM_COLORS); ds1.setSliceSpace(2f); ds1.setValueTextColor(Color.WHITE); ds1.setValueTextSize(12f); PieData d = new PieData(ds1); d.setValueTypeface(tf); return d; }
Example 3
Source File: SleepChartActivity.java From Mi-Band with GNU General Public License v2.0 | 6 votes |
private void refreshSleepAmounts(List<ActivityData> samples) { ActivityAnalysis analysis = new ActivityAnalysis(); ActivityAmounts amounts = analysis.calculateActivityAmounts(samples); float hoursOfSleep = amounts.getTotalSeconds() / (float) (60 * 60); pieChart.setCenterText((int) hoursOfSleep + "h"); // FIXME PieData data = new PieData(); List<Entry> entries = new ArrayList<>(); List<Integer> colors = new ArrayList<>(); int index = 0; for (ActivityAmount amount : amounts.getAmounts()) { entries.add(new Entry(amount.getTotalSeconds(), index++)); colors.add(getColorFor(amount.getActivityKind())); data.addXValue(amount.getName()); } PieDataSet set = new PieDataSet(entries, "Sleep comparison"); set.setColors(colors); data.setDataSet(set); pieChart.setData(data); //setupLegend(pieChart); pieChart.invalidate(); }
Example 4
Source File: ListViewMultiChartActivity.java From StockChart-MPAndroidChart with MIT License | 6 votes |
/** * generates a random ChartData object with just one DataSet * * @return Pie data */ private PieData generateDataPie() { ArrayList<PieEntry> entries = new ArrayList<>(); for (int i = 0; i < 4; i++) { entries.add(new PieEntry((float) ((Math.random() * 70) + 30), "Quarter " + (i+1))); } PieDataSet d = new PieDataSet(entries, ""); // space between slices d.setSliceSpace(2f); d.setColors(ColorTemplate.VORDIPLOM_COLORS); return new PieData(d); }
Example 5
Source File: PieChartActivity.java From iMoney with Apache License 2.0 | 6 votes |
/** * generates a random ChartData object with just one DataSet */ private PieData generateDataPie() { ArrayList<Entry> entries = new ArrayList<Entry>(); for (int i = 0; i < 4; i++) { entries.add(new Entry((int) (Math.random() * 70) + 30, i)); } PieDataSet d = new PieDataSet(entries, ""); // 设置各个扇形部分之间的间距 d.setSliceSpace(12f); // 设置各个扇形部分的颜色 d.setColors(ColorTemplate.VORDIPLOM_COLORS); PieData cd = new PieData(getQuarters(), d); return cd; }
Example 6
Source File: ListViewMultiChartActivity.java From Stayfit with Apache License 2.0 | 6 votes |
/** * generates a random ChartData object with just one DataSet * * @return */ private PieData generateDataPie(int cnt) { ArrayList<Entry> entries = new ArrayList<Entry>(); for (int i = 0; i < 4; i++) { entries.add(new Entry((int) (Math.random() * 70) + 30, i)); } PieDataSet d = new PieDataSet(entries, ""); // space between slices d.setSliceSpace(2f); d.setColors(ColorTemplate.VORDIPLOM_COLORS); PieData cd = new PieData(getQuarters(), d); return cd; }
Example 7
Source File: ReportAdapter.java From outlay with Apache License 2.0 | 5 votes |
private void updateChartData(PieChart chart) { ArrayList<PieEntry> entries = new ArrayList<>(); ArrayList<Integer> colors = new ArrayList<>(); double sum = 0; for (int i = 0; i < categorizedExpenses.getCategories().size(); i++) { Category c = categorizedExpenses.getCategory(i); Report r = categorizedExpenses.getReport(c); sum += r.getTotalAmount().doubleValue(); entries.add(new PieEntry((int) (r.getTotalAmount().doubleValue() * 1000), c.getTitle())); colors.add(c.getColor()); } PieDataSet dataSet = new PieDataSet(entries, "Outlay"); dataSet.setSliceSpace(2f); dataSet.setSelectionShift(10f); dataSet.setColors(colors); PieData data = new PieData(dataSet); data.setValueFormatter((value, entry, dataSetIndex, viewPortHandler) -> NumberUtils.formatAmount((double) value / 1000)); data.setValueTextSize(11f); data.setValueTextColor(Color.WHITE); chart.setData(data); chart.setCenterText(NumberUtils.formatAmount(sum)); chart.highlightValues(null); chart.invalidate(); }
Example 8
Source File: ProductDetailActivity.java From FaceT with Mozilla Public License 2.0 | 5 votes |
private void setData(PieChart colorPie, float value) { ArrayList<PieEntry> entries = new ArrayList<PieEntry>(); float result = value / 5f; Log.d(TAG + " result ", result + ""); entries.add(new PieEntry(result, 0)); entries.add(new PieEntry(1 - result, 1)); // NOTE: The order of the entries when being added to the entries array determines their position around the center of // the chart. // colorPie.setCenterTextTypeface(mTfLight); int centerTextColor = android.graphics.Color.argb(255, 57, 197, 193); colorPie.setCenterTextColor(centerTextColor); PieDataSet dataSet = new PieDataSet(entries, ""); dataSet.setSliceSpace(3f); dataSet.setSelectionShift(3f); // add a lot of colors ArrayList<Integer> colors = new ArrayList<Integer>(); colors.add(Color.argb(120, 57, 197, 193)); colorPie.setCenterText(value + ""); colorPie.setCenterTextSize(30); colors.add(Color.argb(100, 214, 214, 214)); dataSet.setColors(colors); PieData data = new PieData(dataSet); data.setValueFormatter(new PercentFormatter()); data.setValueTextSize(0f); data.setValueTextColor(Color.WHITE); colorPie.setData(data); // undo all highlights colorPie.highlightValues(null); colorPie.invalidate(); }
Example 9
Source File: Results.java From NoiseCapture with GNU General Public License v3.0 | 5 votes |
private void setRNEData(List<Double> classRangeValue) { ArrayList<Entry> yVals1 = new ArrayList<Entry>(); // IMPORTANT: In a PieChart, no values (Entry) should have the same // xIndex (even if from different DataSets), since no values can be // drawn above each other. catNE= getResources().getStringArray(R.array.catNE_list_array); ArrayList<String> xVals = new ArrayList<String>(); double maxValue = 0; int maxClassId = 0; for (int idEntry = 0; idEntry < classRangeValue.size(); idEntry++) { float value = classRangeValue.get(classRangeValue.size() - 1 - idEntry).floatValue(); // Fix background color issue if the pie is too thin if(value < 0.01) { value = 0; } yVals1.add(new Entry(value, idEntry)); xVals.add(catNE[idEntry]); if (value > maxValue) { maxClassId = idEntry; maxValue = value; } } PieDataSet dataSet = new PieDataSet(yVals1,Results.this.getString(R.string.caption_SL)); dataSet.setSliceSpace(3f); dataSet.setColors(NE_COLORS); PieData data = new PieData(xVals, dataSet); data.setValueFormatter(new CustomPercentFormatter()); data.setValueTextSize(8f); data.setValueTextColor(Color.BLACK); rneChart.setData(data); // highlight the maximum value of the RNE // Find the maximum of the array, in order to be highlighted Highlight h = new Highlight(maxClassId, 0); rneChart.highlightValues(new Highlight[] { h }); rneChart.invalidate(); }
Example 10
Source File: GraphicActivity.java From ToDay with MIT License | 5 votes |
private void addDataSet() { Log.d(TAG, "addDataSet started"); ArrayList<PieEntry> yEntrys = new ArrayList<>(); ArrayList<String> xEntrys = new ArrayList<>(); for(int i = 0; i < yData.length; i++){ yEntrys.add(new PieEntry(yData[i] , i)); } for(int i = 1; i < xData.length; i++){ xEntrys.add(xData[i]); } //create the data set PieDataSet pieDataSet = new PieDataSet(yEntrys, "Төлөвлөгөөний үзүүлэлтлл"); pieDataSet.setSliceSpace(2); pieDataSet.setValueTextSize(12); //add colors to dataset ArrayList<Integer> colors = new ArrayList<>(); colors.add(Color.GRAY); colors.add(Color.BLUE); colors.add(Color.RED); colors.add(Color.GREEN); colors.add(Color.CYAN); colors.add(Color.YELLOW); colors.add(Color.MAGENTA); pieDataSet.setColors(colors); //add legend to chart Legend legend = pieChart.getLegend(); legend.setForm(Legend.LegendForm.CIRCLE); legend.setPosition(Legend.LegendPosition.LEFT_OF_CHART); //create pie data object PieData pieData = new PieData(pieDataSet); pieChart.setData(pieData); pieChart.invalidate(); }
Example 11
Source File: StatisticsFragment.java From Expense-Tracker-App with MIT License | 5 votes |
private void setCategoriesPieChart() { List<String> categoriesNames = new ArrayList<>(); List<Entry> categoryPercentagesEntries = new ArrayList<>(); for (int i=0; i < mCategoryList.size(); i++) { float percentage = Expense.getExpensesCategoryPercentage(DateManager.getInstance().getDateFrom(), DateManager.getInstance().getDateTo(), mCategoryList.get(i)); if( percentage > 0) { categoriesNames.add(mCategoryList.get(i).getName()); Entry pieEntry = new Entry(percentage, categoriesNames.size()-1); categoryPercentagesEntries.add(pieEntry); } } if (categoriesNames.isEmpty()) { tvPcCategoriesEmpty.setVisibility(View.VISIBLE); bcCategories.setVisibility(View.GONE); } else { tvPcCategoriesEmpty.setVisibility(View.GONE); bcCategories.setVisibility(View.VISIBLE); } PieDataSet dataSet = new PieDataSet(categoryPercentagesEntries, "Categories"); dataSet.setSliceSpace(1f); dataSet.setSelectionShift(5f); dataSet.setColors(Util.getListColors()); PieData data = new PieData(categoriesNames, dataSet); data.setValueFormatter(new PercentFormatter()); data.setValueTextSize(11f); data.setValueTextColor(getResources().getColor(R.color.primary_dark)); pcCategories.setData(data); pcCategories.invalidate(); }
Example 12
Source File: NodeInfoFragment.java From android-wallet-app with GNU General Public License v3.0 | 5 votes |
private void setData(long tips, long transactionsToRequest) { ArrayList<PieEntry> entries = new ArrayList<>(); entries.add(new PieEntry(tips, getString(R.string.tips) + " " + "(" + tips + ")")); entries.add(new PieEntry(transactionsToRequest, getString(R.string.transactions_to_request) + " " + "(" + transactionsToRequest + ")")); PieDataSet dataSet = new PieDataSet(entries, getString(R.string.transactions) + "\n(" + (tips + transactionsToRequest) + ")"); dataSet.setSliceSpace(3f); dataSet.setSelectionShift(5f); // add a lot of colors ArrayList<Integer> colors = new ArrayList<>(); for (int c : ColorTemplate.LIBERTY_COLORS) colors.add(c); dataSet.setColors(colors); dataSet.setValueLinePart1OffsetPercentage(80.f); dataSet.setValueLinePart1Length(0.2f); dataSet.setValueLinePart2Length(0.4f); dataSet.setXValuePosition(PieDataSet.ValuePosition.OUTSIDE_SLICE); dataSet.setYValuePosition(PieDataSet.ValuePosition.OUTSIDE_SLICE); dataSet.setValueTextColor(ContextCompat.getColor(getActivity(), R.color.colorPrimary)); PieData data = new PieData(dataSet); data.setValueFormatter(new PercentFormatter()); data.setValueTextSize(12f); data.setValueTextColor(ContextCompat.getColor(getActivity(), R.color.colorPrimary)); chart.setData(data); // undo all highlights chart.highlightValues(null); chart.invalidate(); }
Example 13
Source File: ChartSettings.java From BrainPhaser with GNU General Public License v3.0 | 5 votes |
/** * Applies the specified format to the PieDataSet Object. * * @param dataset the dataset which will be formatted * @param type the statistic type of the chart the format is applied to */ public void applyDataSetSettings(PieDataSet dataset, StatisticType type) { dataset.setSliceSpace(SLICE_SPACE); dataset.setValueTextSize(VALUE_TEXT_SIZE); dataset.setSelectionShift(SELECTION_SHIFT); if (type == StatisticType.TYPE_STAGE) { dataset.setColors(mColorsetStage); } else if (type == StatisticType.TYPE_DUE) { dataset.setColors(mColorsetDue); } else { dataset.setColors(mColorsetPlayed); } dataset.setValueFormatter(new CustomizedFormatter()); }
Example 14
Source File: SimpleFragment.java From Stayfit with Apache License 2.0 | 5 votes |
/** * generates less data (1 DataSet, 4 values) * @return */ protected PieData generatePieData() { int count = 4; ArrayList<Entry> entries1 = new ArrayList<Entry>(); ArrayList<String> xVals = new ArrayList<String>(); xVals.add("Quarter 1"); xVals.add("Quarter 2"); xVals.add("Quarter 3"); xVals.add("Quarter 4"); for(int i = 0; i < count; i++) { xVals.add("entry" + (i+1)); entries1.add(new Entry((float) (Math.random() * 60) + 40, i)); } PieDataSet ds1 = new PieDataSet(entries1, "Quarterly Revenues 2015"); ds1.setColors(ColorTemplate.VORDIPLOM_COLORS); ds1.setSliceSpace(2f); ds1.setValueTextColor(Color.WHITE); ds1.setValueTextSize(12f); PieData d = new PieData(xVals, ds1); d.setValueTypeface(tf); return d; }
Example 15
Source File: CountFragment.java From AccountBook with GNU General Public License v3.0 | 4 votes |
/** * 设置图表数据 */ @Override public void setChartData() { if (mMoneyMap.size() > 0) { mChartView.setVisibility(View.VISIBLE); // 设置总支出/收入 String typeStr = mCountType == AppConfig.TYPE_COST ? UiUtils.getString(R.string.total_cost_chart) : UiUtils.getString(R.string.total_income_chart); mChartView.setCenterText(generateCenterSpannableText( String.valueOf(getTotalMoney()), typeStr)); // 设置图表数据与颜色 ArrayList<PieEntry> entries = new ArrayList<>(); ArrayList<Integer> colors = new ArrayList<>(); for (Map.Entry<String, Double> entry : mMoneyMap.entrySet()) { // 添加分类、金额数据 Float money = Float.valueOf(String.valueOf(entry.getValue())); String type = entry.getKey(); PieEntry pieEntry = new PieEntry(money, type); entries.add(pieEntry); // 添加从分类图片中取色的颜色 String iconName = mIconMap.get(entry.getKey()); Bitmap bitmap = BitmapFactory.decodeResource(getResources(), UiUtils.getImageResIdByName(iconName)); int colorRgb = PaletteUtils.getColorRgb(bitmap); mColorMap.put(type,colorRgb); colors.add(colorRgb); } PieDataSet dataSet = new PieDataSet(entries, ""); dataSet.setSliceSpace(3f); dataSet.setSelectionShift(5f); dataSet.setColors(colors); PieData data = new PieData(dataSet); ChartFormatter formatter = new ChartFormatter(mPercentMap, mMoneyMap.size()); formatter.setOnFormattedValueListener(this); data.setValueFormatter(formatter); data.setValueTextSize(11f); data.setValueTextColor(Color.WHITE); mChartView.setData(data); mChartView.animateX(800); }else{ mChartView.setVisibility(View.GONE); } }
Example 16
Source File: ColorDetectionActivity.java From FaceT with Mozilla Public License 2.0 | 4 votes |
private void setData(PieChart colorPie, int order, int color) { ArrayList<PieEntry> entries = new ArrayList<PieEntry>(); float colorValue = color / 255f; entries.add(new PieEntry(colorValue, 0)); entries.add(new PieEntry(1 - colorValue, 1)); // NOTE: The order of the entries when being added to the entries array determines their position around the center of // the chart. // colorPie.setCenterTextTypeface(mTfLight); colorPie.setCenterTextColor(ColorTemplate.getHoloBlue()); PieDataSet dataSet = new PieDataSet(entries, ""); dataSet.setSliceSpace(3f); dataSet.setSelectionShift(3f); // add a lot of colors ArrayList<Integer> colors = new ArrayList<Integer>(); colors.clear(); switch (order) { case 0: colors.add(Color.argb(100, color, 0, 0)); colorPie.setCenterText("Red"); break; case 1: colors.add(Color.argb(100, 0, color, 0)); colorPie.setCenterText("Green"); break; case 2: colors.add(Color.argb(100, 0, 0, color)); colorPie.setCenterText("Blue"); break; } colors.add(Color.argb(80, 214, 214, 214)); dataSet.setColors(colors); PieData data = new PieData(dataSet); data.setValueFormatter(new PercentFormatter()); data.setValueTextSize(0f); data.setValueTextColor(Color.WHITE); colorPie.setData(data); // undo all highlights colorPie.highlightValues(null); colorPie.invalidate(); }
Example 17
Source File: StatsActivity.java From android with MIT License | 4 votes |
private void createPieChart(List<Long> contacts, List<Long> voicemails, List<Long> unavailables, long firstTimestamp) { Date date = new Date(firstTimestamp); ArrayList<Integer> colorsList = new ArrayList<>(); // Create pie pieChart data entries and add correct colors. ArrayList<PieEntry> entries = new ArrayList<>(); if (contacts.size() > 0) { entries.add(new PieEntry(contacts.size(), getResources().getString(R.string.contact_n))); colorsList.add(getResources().getColor(R.color.contacted_color)); } if (voicemails.size() > 0) { entries.add(new PieEntry(voicemails.size(), getResources().getString(R.string.voicemail_n))); colorsList.add(getResources().getColor(R.color.voicemail_color)); } if (unavailables.size() > 0) { entries.add(new PieEntry(unavailables.size(), getResources().getString(R.string.unavailable_n))); colorsList.add(getResources().getColor(R.color.unavailable_color)); } PieDataSet dataSet = new PieDataSet(entries, getResources().getString(R.string.menu_stats)); // Add colors and set visual properties for pie pieChart. dataSet.setColors(colorsList); dataSet.setSliceSpace(3f); dataSet.setSelectionShift(5f); dataSet.setValueLinePart1OffsetPercentage(80.f); dataSet.setValueLinePart1Length(.1f); dataSet.setValueLinePart2Length(.5f); dataSet.setValueLineColor(getResources().getColor(R.color.colorPrimaryDark)); dataSet.setYValuePosition(PieDataSet.ValuePosition.INSIDE_SLICE); dataSet.setXValuePosition(PieDataSet.ValuePosition.OUTSIDE_SLICE); PieData data = new PieData(dataSet); data.setValueTextSize(18f); data.setValueFormatter(new DefaultValueFormatter(0)); data.setValueTextColor(Color.WHITE); SpannableString insideCircleText = new SpannableString(getResources().getString(R.string.stats_summary_total) +"\n" + Integer.toString(voicemails.size()+contacts.size()+unavailables.size()) + "\n" + this.dateFormat.format(date) + "-" + this.dateFormat.format(new Date(System.currentTimeMillis())) ); insideCircleText.setSpan(new RelativeSizeSpan(2f), 0, insideCircleText.length() - 17, 0); pieChart.setData(data); pieChart.setCenterText(insideCircleText); pieChart.setCenterTextColor(getResources().getColor(R.color.colorPrimaryDark)); pieChart.setCenterTextSize(11f); pieChart.setHoleRadius(70); pieChart.setEntryLabelColor(getResources().getColor(R.color.colorPrimaryDark)); pieChart.getLegend().setEnabled(false); pieChart.setDescription(new Description()); pieChart.getDescription().setText(""); pieChart.invalidate(); }
Example 18
Source File: StatisticsFragment.java From budgetto with MIT License | 4 votes |
private void dataUpdated() { if (calendarStart != null && calendarEnd != null && walletEntryListDataSet != null) { List<WalletEntry> entryList = new ArrayList<>(walletEntryListDataSet.getList()); long expensesSumInDateRange = 0; long incomesSumInDateRange = 0; HashMap<Category, Long> categoryModels = new HashMap<>(); for (WalletEntry walletEntry : entryList) { if (walletEntry.balanceDifference > 0) { incomesSumInDateRange += walletEntry.balanceDifference; continue; } expensesSumInDateRange += walletEntry.balanceDifference; Category category = CategoriesHelper.searchCategory(user, walletEntry.categoryID); if (categoryModels.get(category) != null) categoryModels.put(category, categoryModels.get(category) + walletEntry.balanceDifference); else categoryModels.put(category, walletEntry.balanceDifference); } categoryModelsHome.clear(); ArrayList<PieEntry> pieEntries = new ArrayList<>(); ArrayList<Integer> pieColors = new ArrayList<>(); for (Map.Entry<Category, Long> categoryModel : categoryModels.entrySet()) { float percentage = categoryModel.getValue() / (float) expensesSumInDateRange; final float minPercentageToShowLabelOnChart = 0.1f; categoryModelsHome.add(new TopCategoryStatisticsListViewModel(categoryModel.getKey(), categoryModel.getKey().getCategoryVisibleName(getContext()), user.currency, categoryModel.getValue(), percentage)); if (percentage > minPercentageToShowLabelOnChart) { Drawable drawable = getContext().getDrawable(categoryModel.getKey().getIconResourceID()); drawable.setTint(Color.parseColor("#FFFFFF")); pieEntries.add(new PieEntry(-categoryModel.getValue(), drawable)); } else { pieEntries.add(new PieEntry(-categoryModel.getValue())); } pieColors.add(categoryModel.getKey().getIconColor()); } PieDataSet pieDataSet = new PieDataSet(pieEntries, ""); pieDataSet.setDrawValues(false); pieDataSet.setColors(pieColors); pieDataSet.setSliceSpace(2f); PieData data = new PieData(pieDataSet); pieChart.setData(data); pieChart.setTouchEnabled(false); pieChart.getLegend().setEnabled(false); pieChart.getDescription().setEnabled(false); pieChart.setDrawHoleEnabled(true); pieChart.setHoleColor(ContextCompat.getColor(getContext(), R.color.backgroundPrimary)); pieChart.setHoleRadius(55f); pieChart.setTransparentCircleRadius(55f); pieChart.setDrawCenterText(true); pieChart.setRotationAngle(270); pieChart.setRotationEnabled(false); pieChart.setHighlightPerTapEnabled(true); pieChart.invalidate(); Collections.sort(categoryModelsHome, new Comparator<TopCategoryStatisticsListViewModel>() { @Override public int compare(TopCategoryStatisticsListViewModel o1, TopCategoryStatisticsListViewModel o2) { return Long.compare(o1.getMoney(), o2.getMoney()); } }); adapter.notifyDataSetChanged(); DateFormat dateFormat = new SimpleDateFormat("dd-MM-yy"); dividerTextView.setText("Date range: " + dateFormat.format(calendarStart.getTime()) + " - " + dateFormat.format(calendarEnd.getTime())); expensesTextView.setText(CurrencyHelper.formatCurrency(user.currency, expensesSumInDateRange)); incomesTextView.setText(CurrencyHelper.formatCurrency(user.currency, incomesSumInDateRange)); float progress = 100 * incomesSumInDateRange / (float) (incomesSumInDateRange - expensesSumInDateRange); incomesExpensesProgressBar.setProgress((int) progress); } }
Example 19
Source File: CameraActivity.java From dbclf with Apache License 2.0 | 4 votes |
void updatePieChart(List<Classifier.Recognition> results) { final ArrayList<PieEntry> entries = new ArrayList<>(); float sum = 0; if (results != null) for (int i = 0; i < results.size(); i++) { sum += results.get(i).getConfidence(); PieEntry entry = new PieEntry(results.get(i).getConfidence() * 100, results.get(i).getTitle()); entries.add(entry); } // add unknown slice final float unknown = 1 - sum; entries.add(new PieEntry(unknown * 100, "")); //calculate center of slice final float offset = entries.get(0).getValue() * 3.6f / 2; // calculate the next angle final float end = 270f - (entries.get(0).getValue() * 3.6f - offset); final PieDataSet set = new PieDataSet(entries, ""); if (entries.size() > 2) set.setSliceSpace(3f); // set slice colors final ArrayList<Integer> sliceColors = new ArrayList<>(); for (int c : CHART_COLORS) sliceColors.add(c); if (entries.size() > 0) sliceColors.set(entries.size() - 1, R.color.transparent); set.setColors(sliceColors); set.setDrawValues(false); final PieData data = new PieData(set); mChart.setData(data); //rotate to center of first slice mChart.setRotationAngle(end); mChart.setEntryLabelTextSize(16); mChart.invalidate(); }
Example 20
Source File: StatisticActivity.java From memorize with MIT License | 4 votes |
@Override public void setStatData(int total, int memorized, int favorited, int active) { ArrayList<PieEntry> entries = new ArrayList<PieEntry>(); entries.add(new PieEntry((float) memorized, "Цээжилсэн үг " + memorized, getResources().getDrawable(R.drawable.ic_timeline))); entries.add(new PieEntry((float) favorited, "Цээжилж байгаа " + favorited, getResources().getDrawable(R.drawable.ic_timeline))); entries.add(new PieEntry((float) active, "Цээжлээгүй " + active, getResources().getDrawable(R.drawable.ic_timeline))); PieDataSet dataSet = new PieDataSet(entries, "Memorize results"); dataSet.setDrawIcons(false); dataSet.setSliceSpace(3f); dataSet.setIconsOffset(new MPPointF(0, 40)); dataSet.setSelectionShift(5f); // add a lot of colors ArrayList<Integer> colors = new ArrayList<Integer>(); colors.add(getResources().getColor(R.color.chartGreen)); colors.add(getResources().getColor(R.color.chartBlue)); colors.add(getResources().getColor(R.color.chartPink)); dataSet.setColors(colors); //dataSet.setSelectionShift(0f); PieData data = new PieData(dataSet); data.setValueFormatter(new PercentFormatter()); data.setValueTextSize(11f); data.setValueTextColor(Color.WHITE); SpannableString s = new SpannableString("Нийт үг :" + total); s.setSpan(new RelativeSizeSpan(1.7f), 0, s.length(), 0); s.setSpan(new ForegroundColorSpan(ColorTemplate.getHoloBlue()), 0, s.length(), 0); pieData = new PieData(dataSet); }