标签: mpandroidchart

在 MPAndroidChart 中将图表保存为图像

我正在使用 MPAndroidChart 来呈现各种图表。我想添加将图表作为图像保存到图库的功能。我在操作栏中添加了一个图标以使用此功能,但图像未保存到图库中。

代码如下:

<item android:id="@+id/save"
    android:icon="@drawable/ic_action_accept"
    android:title="@string/save"
    app:showAsAction="always"/>
Run Code Online (Sandbox Code Playgroud)
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.menu_main, menu);
    return super.onCreateOptionsMenu(menu);
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    switch (item.getItemId()) {
        case R.id.save …
Run Code Online (Sandbox Code Playgroud)

android save-image mpandroidchart

2
推荐指数
1
解决办法
5214
查看次数

在ios-charts中如何设置y轴的最大值?

我正在使用 ios-charts 来显示一个 Horizo​​ntal BarChart ,其中一个值是这样的:

 var dataEntries: [BarChartDataEntry] = []
        let dataEntry = BarChartDataEntry(value: self.deductible!.deductiblePaid, xIndex: 0)
        dataEntries.append(dataEntry)
        let chartDataSet =    BarChartDataSet(yVals: dataEntries, label: "Deductible")
        let chartData = BarChartData( xVals: dataPoints, dataSet: chartDataSet)


        self.horizontalBarChart!.data = chartData
        self.horizontalBarChart!.leftAxis.customAxisMax = 3000.0
        self.horizontalBarChart!.leftAxis.startAtZeroEnabled = false

        chartDataSet.colors = ChartColorTemplates.vordiplom()
Run Code Online (Sandbox Code Playgroud)

我试图为 YAxis 设置最大值,但它不影响图形。编辑:请在此处查看屏幕截图:http : //postimg.org/image/ogoj2t02f/ 我需要的是条形图应显示上限为 3000(或动态指定的数量),而不是计算出的上限。

我更改了一些代码来实现它,这是我目前所拥有的:

self.horizontalBarChart!.noDataText = "You need to provide data for the chart."

        self.horizontalBarChart!.setVisibleYRangeMaximum(3000, axis: ChartYAxis.AxisDependency.Left)
        self.horizontalBarChart!.descriptionText = ""
        var dataEntries: [BarChartDataEntry] = []
        let dataEntry = BarChartDataEntry(value: …
Run Code Online (Sandbox Code Playgroud)

ios swift mpandroidchart ios-charts

2
推荐指数
1
解决办法
9101
查看次数

在 Android 中创建圆形/环形图

我想在 Android 上创建一个圆形/环形图。

我想要达到的结果如下:

在此处输入图片说明

是否有库或任何默认方式来创建它?

java android pie-chart mpandroidchart

2
推荐指数
1
解决办法
1645
查看次数

如何在 MPAndroidChart 中隐藏图表中的值?

我正在使用MPAndroidChart,但不知道如何隐藏 LineChart 中点上的值。

截屏:

在此处输入图片说明

你有什么建议吗?

谢谢!

android mpandroidchart

2
推荐指数
1
解决办法
2295
查看次数

在 PieData 数据处出错 = new PieData(labels, dataset); 添加数据时

在我的应用程序中,我使用 MPAndroidChart 需要饼图,但是在 Piedata 构造函数中添加数据时出错,请帮助。使用依赖编译 'com.github.PhilJay:MPAndroidChart:v3.0.0 beta'

 imageView=(PieChart) v.findViewById(R.id.result_text);
    ArrayList<Entry> entries = new ArrayList<>();
    entries.add(new Entry(4f, 0));
    entries.add(new Entry(8f, 1));
    entries.add(new Entry(6f, 2));
    entries.add(new Entry(12f, 3));
    entries.add(new Entry(18f, 4));
    entries.add(new Entry(9f, 5));
    PieDataSet dataset = new PieDataSet(entries,"uyggh");
    ArrayList<Object> labels = new ArrayList<Object>();
    labels.add("January");
    labels.add("February");
    labels.add("March");
    labels.add("April");
    labels.add("May");
    labels.add("June");
    PieData data = new PieData(labels, dataset);//getting error here
    imageView.setData(data);
    imageView.setDescription("Description");
Run Code Online (Sandbox Code Playgroud)

charts android graph mpandroidchart

2
推荐指数
1
解决办法
4043
查看次数

触摸/拖动特定视图时禁用 viewpager

使用类似于此问题的答案的内容,我尝试在用户在特定项目上滑动时禁用 ViewPager 滑动操作。有问题的视图是来自MPAndroidChart库的可滚动图表,所以自然我不希望视图分页器干扰图表的滚动。

我遇到的问题是,在我想要的视图上调用 onTouchListener 之前,ViewPager 通常会调用“onInterceptTouch”。

在这段代码中,我在按下/未按下视图时进行录制:

private long lastDown;

private long lastUp;

...

public void foo(){

    barChart.setOnTouchListener(new View.OnTouchListener() {
      @Override
      public boolean onTouch(View v, MotionEvent event) {

        System.out.println("AAA");

        if(event.getAction() == MotionEvent.ACTION_DOWN){
          lastDown = System.currentTimeMillis();
        }else if(event.getAction() == MotionEvent.ACTION_UP){
          lastUp = System.currentTimeMillis();
        }

    return false;
      }
    });
}
Run Code Online (Sandbox Code Playgroud)

在这段代码中,我确定是否选择了视图:

  public boolean isGraphTouched(){
    return lastDown > lastUp;
  }
Run Code Online (Sandbox Code Playgroud)

在这一段代码中,我覆盖了 onInterceptTouchEvent 方法:

  @Override
  public boolean onInterceptTouchEvent(MotionEvent ev) {
    System.out.println("BBB");
    return isGraphSelected() ? super.onInterceptTouchEvent(ev) : false;
  }
Run Code Online (Sandbox Code Playgroud)

如果您注意打印行,则 …

android android-fragments android-viewpager mpandroidchart

2
推荐指数
1
解决办法
1827
查看次数

同步图表或多个图表,如 Android 中的 Highcharts

我们如何才能Synchronized chartsAndroid.

对于我的网页,我使用了HighchartsAPI。Android有没有类似的东西。我检查了这里提到的各种库但没有找到符合要求的库。

我不想要这样这样的组合图表。我正在寻找同步图表。

是否有任何图书馆可以满足要求或者我应该去吗webView(这对我来说是最糟糕的情况)

有可能MPAndroidChart吗?

编辑

结果图表应该类似于highcharts页面中给出的图表

样品

在此处输入图片说明

更新

座右铭不仅仅是绘制3张图表。目的是同步它们。同步意味着所有 3 个图表都具有相同的 x 轴(值),单击这些图表中的任何点时,该特定点的图应在所有图表中突出显示。我确定我没有正确解释它。请检查此链接并悬停图表

charts android highcharts mpandroidchart

2
推荐指数
1
解决办法
1471
查看次数

MPAndroidChart - CombinedChart - 第一个和最后一个条形图不完全可见

In CombinedChartby 添加chart.setFitBars(true)将使第一个和最后一个条形可见。

我需要为将 LineChart 与 BarChart 结合起来做同样的事情。
现在,第一条和最后一条不完全可见。

在此处输入图片说明

我试过了

xAxis.setAxisMaximum(data.getXMax() + 1f);
Run Code Online (Sandbox Code Playgroud)

X-Axis向右侧延伸,以便最后一个酒吧获得足够的空间。这成功了。

但是我应该为左侧栏做什么?
setAxisMinimum没有帮助。

添加后setAxisMaximum

在此处输入图片说明

编辑

我已经提到了这个, 但它只为BarChart.

mpandroidchart

2
推荐指数
1
解决办法
1232
查看次数

单击 LineChart 中的圆圈外时收到 onValueSelected 回调

我有一个LineChart使用 MPAndroidChart 创建的。我已经OnChartValueSelectedListener为这个图表设置了一个,到目前为止一切正常。onValueSelected如果我点击图表上的任何地方,就会调用该函数。只有在点击图表内的圆圈(值点)时才会调用它。

我为此尝试了很多选择,但没有运气。

谁能向我解释如何解决这个问题?

charts android mpandroidchart

2
推荐指数
1
解决办法
532
查看次数

MPAndroid图表未显示xAxis的任何标签,缺少什么?

我正在实现一项功能,用于显示财产的收入/费用,还提供了1个月,3个月,6个月和12个月的筛选器。

因此,我必须根据选择的过滤器显示“月”标签,例如,如果选择“ 3个月”过滤器,则需要显示“三月”,“二月”和“一月”,但当前未在XAxis上显示什么标签。

这是我的代码,请纠正任何问题:

private void setChart() {

    ArrayList<BarEntry> incomeEntries = getIncomeEntries();
    ArrayList<BarEntry> expenseEntries = getExpenseEntries();

    BarDataSet set1, set2;

    set1 = new BarDataSet(incomeEntries, "Income");
    set1.setColor(Color.rgb(65, 168, 121));
    set1.setValueTextColor(Color.rgb(55, 70, 73));
    set1.setValueTextSize(10f);

    set2 = new BarDataSet(expenseEntries, "Expense");
    set2.setColors(Color.rgb(241, 107, 72));
    set2.setValueTextColor(Color.rgb(55, 70, 73));
    set2.setValueTextSize(10f);

    ArrayList<IBarDataSet> dataSets = new ArrayList<>();
    dataSets.add(set1);
    dataSets.add(set2);

    BarData data = new BarData(dataSets);
    barChart.setData(data);


    barChart.getDescription().setEnabled(false);
    barChart.setDrawBarShadow(false);
    barChart.setDrawValueAboveBar(true);
    barChart.setMaxVisibleValueCount(10);
    barChart.setPinchZoom(false);
    barChart.setDrawGridBackground(false);
    barChart.animateY(1400, Easing.EaseInOutQuad);
    barChart.animateXY(3000, 3000);

    Legend l = barChart.getLegend();
    l.setWordWrapEnabled(true);
    l.setTextSize(14);
    l.setVerticalAlignment(Legend.LegendVerticalAlignment.TOP);
    l.setHorizontalAlignment(Legend.LegendHorizontalAlignment.CENTER);
    l.setOrientation(Legend.LegendOrientation.HORIZONTAL);
    l.setDrawInside(false);
    l.setForm(Legend.LegendForm.CIRCLE);


    XAxis xAxis = …
Run Code Online (Sandbox Code Playgroud)

charts android bar-chart android-layout mpandroidchart

2
推荐指数
1
解决办法
1635
查看次数