Java Code Examples for com.github.mikephil.charting.data.PieDataSet#setSelectionShift()

The following examples show how to use com.github.mikephil.charting.data.PieDataSet#setSelectionShift() . 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: PredictionsFragment.java    From SEAL-Demo with MIT License 6 votes vote down vote up
/**
 * Updates the data in the pie chart with all the runs.
 */
private void updatePieChart() {
    ArrayList<PieEntry> entries = filterPieEntries();
    PieDataSet dataSet = new PieDataSet(entries, "Predictions");
    dataSet.setDrawIcons(false);
    dataSet.setSliceSpace(2f);
    dataSet.setIconsOffset(new MPPointF(0, 40));
    dataSet.setSelectionShift(5f);
    dataSet.setColors(new int[]{R.color.classification_low_intensity, R.color.classification_medium_intensity, R.color.classification_high_intensity}, getActivity());
    PieData data = new PieData(dataSet);
    data.setValueFormatter(new PercentFormatter());
    data.setValueTextSize(22f);
    data.setValueTextColor(Color.WHITE);
    mChart.setData(data);
    mChart.invalidate();
}
 
Example 2
Source File: LoadFolderSpaceData.java    From PowerFileExplorer with GNU General Public License v3.0 6 votes vote down vote up
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 3
Source File: HalfPieChartActivity.java    From StockChart-MPAndroidChart with MIT License 6 votes vote down vote up
private void setData(int count, float range) {

        ArrayList<PieEntry> values = new ArrayList<>();

        for (int i = 0; i < count; i++) {
            values.add(new PieEntry((float) ((Math.random() * range) + range / 5), parties[i % parties.length]));
        }

        PieDataSet dataSet = new PieDataSet(values, "Election Results");
        dataSet.setSliceSpace(3f);
        dataSet.setSelectionShift(5f);

        dataSet.setColors(ColorTemplate.MATERIAL_COLORS);
        //dataSet.setSelectionShift(0f);

        PieData data = new PieData(dataSet);
        data.setValueFormatter(new PercentFormatter());
        data.setValueTextSize(11f);
        data.setValueTextColor(Color.WHITE);
        data.setValueTypeface(tfLight);
        chart.setData(data);

        chart.invalidate();
    }
 
Example 4
Source File: ChartSettings.java    From BrainPhaser with GNU General Public License v3.0 5 votes vote down vote up
/**
 * 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 5
Source File: NodeInfoFragment.java    From android-wallet-app with GNU General Public License v3.0 5 votes vote down vote up
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 6
Source File: PieChartManager.java    From react-native-mp-android-chart with MIT License 5 votes vote down vote up
@Override
void dataSetConfig(IDataSet<Entry> dataSet, ReadableMap config) {
    PieDataSet pieDataSet = (PieDataSet) dataSet;

    ChartDataSetConfigUtils.commonConfig(pieDataSet, config);

    // PieDataSet only config
    if (BridgeUtils.validate(config, ReadableType.Number, "sliceSpace")) {
        pieDataSet.setSliceSpace((float) config.getDouble("sliceSpace"));
    }
    if (BridgeUtils.validate(config, ReadableType.Number, "selectionShift")) {
        pieDataSet.setSelectionShift((float) config.getDouble("selectionShift"));
    }
}
 
Example 7
Source File: ProductDetailActivity.java    From FaceT with Mozilla Public License 2.0 5 votes vote down vote up
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 8
Source File: ReportAdapter.java    From outlay with Apache License 2.0 5 votes vote down vote up
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 9
Source File: StatisticsFragment.java    From Expense-Tracker-App with MIT License 5 votes vote down vote up
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 10
Source File: StatisticActivity.java    From memorize with MIT License 4 votes vote down vote up
@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);
}
 
Example 11
Source File: CountFragment.java    From AccountBook with GNU General Public License v3.0 4 votes vote down vote up
/**
 * 设置图表数据
 */
@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 12
Source File: StatsActivity.java    From android with MIT License 4 votes vote down vote up
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 13
Source File: ColorDetectionActivity.java    From FaceT with Mozilla Public License 2.0 4 votes vote down vote up
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();
    }