标签: mpandroidchart

MPAndroidChart:在堆积条形图中隐藏0值标签

我使用MPAndroidChart显示包含两组数据(收入和支出)的堆积条形图.当值为0时,我遇到问题,标签与其他x轴值重叠.

在屏幕截图的情况下,您可以看到具有值的条形具有以下日期的重叠值:14/4,15/4和16/4.

如何隐藏0值以停止重叠问题?堆积的条形图图

android mpandroidchart

6
推荐指数
1
解决办法
3146
查看次数

ios-charts设置数据后如何无效/重绘

请参阅底部更新(4/30/2015)

我正在使用ios-charts在Swift for iOS中实现一个饼图,并选择自定义图例.值得注意的是,图表显示在UICollectionView的单元格中.问题是,在第一次显示时,不显示自定义图例内容.相反,我获得了从数据生成的图例内容.

如果我在屏幕外滚动视图,然后将其滚动回屏幕,则会显示正确的自定义图例.所以,我猜我需要在设置自定义图例后强制重绘/重新布局/重新设置.我还没弄明白怎么做. 有没有人有想法?我完全错过了什么吗?谢谢!

初始显示图表 - 数据生成(错误)图例 初始显示图表 - 生成的图例

滚动并返回到屏幕后的图表 - (正确的图例) 带有适当图例的图表

这是我绘制此图表的代码:

func initChart(pieChart: PieChartView) {
    numFormatter.maximumFractionDigits = 0

    pieChart.backgroundColor = UIColor.whiteColor()

    pieChart.usePercentValuesEnabled = false
    pieChart.drawHoleEnabled = true
    pieChart.holeTransparent = true
    pieChart.descriptionText = ""
    pieChart.centerText = "30%\nComplete"

    pieChart.data = getMyData()

    // Setting custom legend info, called AFTER setting data
    pieChart.legend.position = ChartLegend.ChartLegendPosition.LeftOfChartCenter
    pieChart.legend.colors = [clrGreenDk, clrGold, clrBlue]
    pieChart.legend.labels = ["Complete","Enrolled","Future"]
    pieChart.legend.enabled = true
}

func getMyData() -> ChartData {

    var xVals = ["Q201","R202","S203","T204","U205", "V206"]

    var courses: [ChartDataEntry] = …
Run Code Online (Sandbox Code Playgroud)

mpandroidchart ios-charts

6
推荐指数
1
解决办法
6654
查看次数

Android - 在ScrollView中包含时,MPAndroidChart中的拖动无响应

我有一个ScrollView中包含的LineChart.当图表足够长以使用户无需滚动以完整地查看它时,拖动功能就会变得无法响应.拖动手势仅在我在图表边界中将手指按住一小段时间时才会记录,然后拖动.

我已经尝试使用requestDisallowInterceptTouchEvent方法,该方法应该阻止图表的父母拦截触摸事件(但这并没有解决任何问题).我也尝试直接将ScrollView注册的MotionEvents直接传递给图表/翻译拖动手势来翻译Y调用,但这并没有达到我想象的效果.

注意:缩放继续完美运行.

此外,当图形适合原始窗口或放置在任何不是ScrollView的视图中时,这不是问题.我考虑过摆脱ScrollView,但这是我项目中非常必要的功能.

关于为什么会发生这种情况的任何想法将不胜感激!

编辑:LineChart具有固定的高度

android scrollview mpandroidchart

6
推荐指数
1
解决办法
814
查看次数

在MPAndroid条形图中将条形值设置为条形中心

我正在使用MPAndroid图表库,我想要一个堆积条形图来生成堆积条形图.我得到了这个.

堆积条形图

但我想要这样

我想要的堆栈条形图

任何帮助都将得到高度赞赏.提前致谢.

android bar-chart mpandroidchart

6
推荐指数
0
解决办法
801
查看次数

在xAxis MPChart上获取重复值

现在我正面临着这个问题.我在xAx中得到的重复值是第一个和最后一个.图形值不是根据各个x轴值的值.第二个问题是,如果我想显示不在float中但在int Rounded中的值,并将它们的颜色更改为白色.

ArrayList<String> xlabels = new ArrayList<String>();
        xlabels.add("Jan");
        xlabels.add("Feb");
        xlabels.add("Mar");
        xlabels.add("Apr");
        xlabels.add("May");
        xlabels.add("Jun");

        ArrayList<String> values = new ArrayList<String>();
        values.add("1");
        values.add("20");
        values.add("10");
        values.add("80");
        values.add("90");
        values.add("24");

        showLineChart(clickChart,xlabels,values,mColors[3]);
Run Code Online (Sandbox Code Playgroud)

showLineChart方法:

private void showLineChart(LineChart chart,final List<String> xLabels, List<String> values,int color){
        List<Entry> entries = new ArrayList<Entry>();
        for(int i=0;i<values.size();i++){
            entries.add(new Entry(i, Integer.parseInt(values.get(i))));
        }



        LineDataSet dataSet = new LineDataSet(entries, "Numbers");
        dataSet.setLineWidth(1.75f);
        dataSet.setCircleRadius(5f);
        dataSet.setCircleHoleRadius(2.5f);
        dataSet.setColor(Color.WHITE);
        dataSet.setCircleColor(Color.WHITE);
        dataSet.setHighLightColor(Color.WHITE);
        dataSet.setDrawValues(true);


        LineData data = new LineData(dataSet);
        ((LineDataSet) data.getDataSetByIndex(0)).setCircleColorHole(color);

        chart.getDescription().setEnabled(false);

        chart.setDrawGridBackground(false);

        chart.setTouchEnabled(true);

        chart.setBorderColor(Color.WHITE);

        chart.setDragEnabled(true);
        chart.setScaleEnabled(true);


        chart.setPinchZoom(false);

        chart.setBackgroundColor(color);

        YAxis yAxisLeft = chart.getAxisLeft();
        yAxisLeft.setTextColor(Color.WHITE);
        yAxisLeft.setAxisLineColor(Color.WHITE); …
Run Code Online (Sandbox Code Playgroud)

charts android mpandroidchart

6
推荐指数
2
解决办法
1839
查看次数

MPAndroidChart - 网格线和限制线在后台不断闪烁

我正在尝试使用 MPAndroidChart 库绘制实时图表。虽然我成功地绘制了图形,但在绘制图形时网格线和限制线不断闪烁。

LineData data = myGraph.getData();

if (data != null) {
    LineDataSet set = data.getDataSetByIndex(0);

    if (set == null) {
        set = createSet();
        data.addDataSet(set);
    }
    // add a new x-value first
    DecimalFormat df = new DecimalFormat("#.0");
    String xVal = df.format(theRunningTime);
    data.addXValue(xVal+"s");
    data.addEntry(new Entry( yValue, set.getEntryCount()), 0);

    // let the chart know it's data has changed
    audioGraph.notifyDataSetChanged();
    audioGraph.invalidate();
}
Run Code Online (Sandbox Code Playgroud)

下面的代码介绍了图中的限制线

YAxis yl = myGraph.getAxisLeft();
yl.setTextColor(Color.WHITE);
yl.setTextSize(8f);
yl.setAxisMinValue(0);
yl.setDrawGridLines(false);
yl.setDrawAxisLine(true);
yl.setValueFormatter(new MyValueFormatter());     
yl.setStartAtZero(true);
//Remove any previous limit lines
yl.removeAllLimitLines();

LimitLine ll …
Run Code Online (Sandbox Code Playgroud)

android mpandroidchart

5
推荐指数
0
解决办法
1941
查看次数

MPandroidChart 布局高度

我正在使用 MPAndroidChart 在片段内创建条形图,但图表高度仅占整个屏幕的一小部分。另外,当高度设置为数字时,它可以正常工作,但这不是我想要的解决方案。问题是什么?下面是片段布局代码。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent"
        android:layout_height="wrap_content" android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        android:paddingBottom="@dimen/activity_vertical_margin"
        tools:context=".MainActivity$PlaceholderFragment">

        <com.github.mikephil.charting.charts.BarChart
            android:id="@+id/barchart"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />

    </RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

编辑:抱歉缺乏详细信息,我在我的项目中使用了带有操作栏微调器模板的选项卡式活动。

    <android.support.design.widget.AppBarLayout android:id="@+id/appbar"
    android:layout_width="match_parent" android:layout_height="wrap_content"
    android:paddingTop="@dimen/appbar_padding_top"
    android:theme="@style/AppTheme.AppBarOverlay">

    <android.support.v7.widget.Toolbar android:id="@+id/toolbar"
        android:layout_width="match_parent" android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary" app:popupTheme="@style/AppTheme.PopupOverlay"
        app:layout_scrollFlags="scroll|enterAlways">

        <Spinner android:id="@+id/spinner" app:popupTheme="@style/AppTheme.PopupOverlay"
            android:layout_width="wrap_content" android:layout_height="wrap_content" />
    </android.support.v7.widget.Toolbar>

</android.support.design.widget.AppBarLayout>

<android.support.v4.widget.NestedScrollView android:id="@+id/container"
    android:layout_width="match_parent" android:layout_height="match_parent"
    app:layout_behavior="@string/appbar_scrolling_view_behavior" />
Run Code Online (Sandbox Code Playgroud)

我还有正在运行的应用程序的图像

点击查看图片

android mpandroidchart

5
推荐指数
1
解决办法
4837
查看次数

如何突出显示mpandroid饼图的特定切片而不触摸它?

我已经在我的 android 应用程序中实现了 Mpandroid 饼图,我做了一个 BMI 计算器,我想根据我得到的 BMI 结果突出显示饼图的特定切片。有没有关于如何突出显示特定切片的解决方案不碰它。例如。如果 BMI 介于 10-20 之间,则应突出显示范围为 10-20 的特定切片。 我不希望我的触摸突出显示切片,我希望它根据我获得的 BMI 结果自动发生。

这是我的代码-->

Activity_main.java

    public class MainActivity extends AppCompatActivity
      {

    private RadioGroup radioSexGroup;
    private RadioButton radioSexButton;
    private int selectedId;
    private EditText age;
    private EditText height;
    private EditText weight;
//    private TextView result;
    private TextView t1;
    private Spinner height_spinner;
    private Spinner weight_spinner;
    private Button calculate;
    private PieChart mChart;

    String spinner_height; //Height Spinner
    String spinner_weight; //Weight Spinner
    String selected_item1;
    String selected_item2;

    float bmi=0f;

    protected String[] BMIcategory …
Run Code Online (Sandbox Code Playgroud)

java android mpandroidchart

5
推荐指数
1
解决办法
2719
查看次数

MPAndroidChart:带有三次贝塞尔曲线的 LineChart 显示错误(尖峰和循环)

我正在尝试使用立方图制作 LineChart。结果如下面的截图所示:三次贝塞尔曲线显示错误并有“尖峰”。有人可以帮我让它正确显示吗?

这是我的配置:

        LineDataSet lineDataSet = new LineDataSet(entries,nameLabel);
        lineDataSet.setColor(Constants.colors.get(i));
        lineDataSet.setDrawValues(false);
        lineDataSet.setDrawCircles(false);
        lineDataSet.setMode(LineDataSet.Mode.CUBIC_BEZIER);
Run Code Online (Sandbox Code Playgroud)

谢谢 带尖峰的立方折线图

linechart cube mpandroidchart cubic-bezier

5
推荐指数
1
解决办法
2388
查看次数

Android:mpandroidchart 未正确显示

我正在使用 mpandroidchart 库处理分组条形图:

代码:

public void drawing_length(String length)
    {
        ArrayList<String> xx = new ArrayList<String>();
        ArrayList<String> yy = new ArrayList<String>();
        ArrayList<String> zz = new ArrayList<String>();

        int L = 7;
        if (length.equals("7days"))
        {
            L = 7;
        }
        if (length.equals("14days"))
        {
            L = 14;
        }
        if (length.equals("30days"))
        {
            L = 30;
        }
        if (L > x.size())
        {
            L = x.size();
        }
        for (int g=0; g<L; g++)
        {
            xx.add(x.get(g));       // newest first, oldest last
            yy.add(y.get(g));
            zz.add(z.get(g));
        }

        Collections.reverse(xx);        //oldest first, newest last, i.e. sequential …
Run Code Online (Sandbox Code Playgroud)

charts android mpandroidchart

5
推荐指数
1
解决办法
869
查看次数