标签: mpandroidchart

MPAndroidChart LineChart自定义高亮显示drawable

我正在使用MPAndroid Chart库在我的Android应用程序中绘制折线图.图的状态如下: MPAndroidChart  - 折线图

我想改变它:

折线图

所以我想改变MPAnroid Line Chart的点,在图书馆中称为"圆孔".我想把这个洞换成可画的.我有办法做到这一点吗?

圆孔更改代码在这里:

LineDataSet set1 = new LineDataSet(yVals, "DataSet 1");
set1.setDrawCircleHole( true );
set1.setCircleColor( Color.BLACK );
Run Code Online (Sandbox Code Playgroud)

库参考在这里:MPAndroidChart

android mpandroidchart

11
推荐指数
1
解决办法
7338
查看次数

MPAndroidChart - 第一个和最后一个条未正确呈现

  1. 在条形图中我创建的第一行和最后一行一直被切成两半(即使我添加了额外的条).这也会导致条形图上方的值不合适.我在一个片段内膨胀这个.

  2. 轴也只增加0.9而不是1.为了解决这个问题,我需要实现AxisValueFormatter接口吗?

图片:

在此输入图像描述

代码:.java

chart = (BarChart) view.findViewById(R.id.chart1);

// Chart settings
chart.setDrawGridBackground(false);
chart.setHighlightFullBarEnabled(true);
chart.setDrawBarShadow(false);
chart.setDrawValueAboveBar(true);
chart.setDescription("");

// Settings for X-Axis
XAxis xAxis = chart.getXAxis();
xAxis.setDrawGridLines(false);
xAxis.setEnabled(true);
xAxis.setDrawLabels(true);
xAxis.setPosition(XAxisPosition.BOTTOM);

// Settings for Y-Axis
YAxis leftAxis = chart.getAxisLeft();
YAxis rightAxis = chart.getAxisRight();

leftAxis.setAxisMinValue(0f);
rightAxis.setAxisMinValue(0f);

BARENTRY = new ArrayList<>();

BarEntryLabels = new ArrayList<String>();

BARENTRY.add(new BarEntry(2f, 1));
BARENTRY.add(new BarEntry(3f, 2));
BARENTRY.add(new BarEntry(4f, 3));
BARENTRY.add(new BarEntry(5f, 4));
BARENTRY.add(new BarEntry(6f, 5));

Bardataset = new BarDataSet(BARENTRY, "Projects");

Bardataset.setColors(ColorTemplate.COLORFUL_COLORS);

BARDATA = new BarData(Bardataset);

chart.setData(BARDATA);
chart.invalidate(); // refresh

chart.animateY(1500); …
Run Code Online (Sandbox Code Playgroud)

android mpandroidchart

11
推荐指数
1
解决办法
4211
查看次数

如何修改MPAndroidChart BarChart中的条宽?

我正在使用MPAndroidChart库.

我想修改条形图中的条形大小.你能告诉我们在mp android图表中检查条形图中条形图的修改大小的位置

android mpandroidchart

10
推荐指数
2
解决办法
2万
查看次数

如何在MPAndroidChart中设置颜色?

我正在使用MPChartlib作为基本的"条形图"(3个条形和0到100之间的值).

应用程序的背景是黑暗的,所以我想将文本设置为白色,但是当我在chart.xml中设置了存储在string.xml中的颜色代码"FFFFFF"但文本显示为深蓝色时.

   //Axe X
   XAxis x = barchart.getXAxis();
   x.setPosition(XAxisPosition.BOTTOM);
   x.setTextColor(R.color.chart_color);
   x.setAxisLineColor(R.color.chart_color);


   // Design
   barchart.setDragEnabled(false);
   barchart.setDrawGridBackground(false);
   barchart.setTouchEnabled(false);
   barchart.setHighlightEnabled(false);
   barchart.setMaxVisibleValueCount(101);
   barchart.setDescription(null);
   barchart.setGridBackgroundColor(R.color.chart_color);

   barchart.invalidate(); // refresh

   //Axe Y
   barchart.getAxisLeft().setAxisMaxValue(100);
   barchart.getAxisLeft().setDrawTopYLabelEntry(true);
   barchart.getAxisLeft().setDrawAxisLine(false);
   barchart.getAxisLeft().setDrawGridLines(false);
   barchart.getAxisLeft().setAxisLineColor(R.color.chart_color);
   barchart.getAxisLeft().setTextColor(R.color.chart_color);

   barchart.getAxisRight().setAxisMaxValue(100);
   barchart.getAxisRight().setDrawTopYLabelEntry(true);
   barchart.getAxisRight().setAxisLineColor(R.color.chart_color);
   barchart.getAxisRight().setTextColor(R.color.chart_color);
Run Code Online (Sandbox Code Playgroud)

我尝试了很多东西和研究,但找不到问题,lib是不是使用相同类型的颜色代码或什么?

谢谢你的帮助,Alex

charts android colors textcolor mpandroidchart

10
推荐指数
2
解决办法
2万
查看次数

MPAndroidChart如何设置y轴最小值和最大值或设置默认缩放?

我使用MPAndroidChart来显示股票图表,但Y线值非常接近,图表是这样的在此输入图像描述

我可以像这样使用手指缩放 在此输入图像描述

这是我想要的默认外观

有没有办法设置Y线最大值和最小值或设置默认缩放.

我尝试了lib函数,但它不起作用

charts android mpandroidchart

10
推荐指数
3
解决办法
3万
查看次数

MPAndroidChart设置中心垂直线

我想在LineChart这个中心设置一条垂直线:

在此输入图像描述

滚动到每个点时,它可以通知更改下面的日期(橙色日期字段).它可以通过单击箭头按钮以编程方式向左或向右移动.

目前,我可以使用以下代码设置视口并允许移动到中心:

LineData data = new LineData(xVals, dataSets);
mChart.setScaleMinima((float) data.getXValCount() / 7f, 1f);
mChart.moveViewTo(0, 7, YAxis.AxisDependency.LEFT);
Run Code Online (Sandbox Code Playgroud)

得到结果:

在此输入图像描述

如何绘制和设置如上所示的垂直线?

更新:

对于听众,我认为OnChartGestureListener onChartTranslate(MotionEvent me, float dX, float dY)可能有所帮助.我需要的是2点之间的距离以及如何计算当前视口中有多少点.有谁知道吗?

charts android mpandroidchart

10
推荐指数
2
解决办法
2120
查看次数

MPAndroidChart中限制行的自定义视图

是否可以LimitLine用自定义布局替换?所以它看起来像这样:

在此输入图像描述

我看到几个解决方案:

  1. 也许这里有像这样的自定义库中的方法,有没有?
  2. 获取TextView值的存储位置坐标,并在该位置添加自定义布局.但是我怎么能达到这个目的TextView呢?

也许有人遇到了这个问题.请分享您的经验.


编辑:最新的部分解决方案

经过长时间的搜索解决方案,我开始通过Limit Line的坐标以编程方式添加自定义视图.

屏幕总体布局如下:

在此输入图像描述

坐标计算非常简单.X从图表坐标和已知Y:

Y =((max - lastValue)*height)/((max + min)+ y)

所以在这一点上我基本上知道我需要的位置.虽然由于父母的缘故,我不确定这是对的ScrollView.

下一步是在这些坐标处添加自定义布局 (x, y)

在此输入图像描述

这就是新问题.我试图将视图添加到顶部RelativeLayout.它被添加但它不会一起移动ScrollView.因此,需要在Chart上添加该视图.看看我是如何尝试实现这一目标的:

private void addCustomLayoutOnLimitLine(final double lastValue) {

    mChart.post(new Runnable() { //check location when view is created
        public void run() {
            int[] chartLocationOnScreen = new int[2];
            mChart.getLocationOnScreen(chartLocationOnScreen);

            int x = chartLocationOnScreen[0];
            int y = chartLocationOnScreen[1];

            int width = mChart.getWidth();
            int height = …
Run Code Online (Sandbox Code Playgroud)

android mpandroidchart

10
推荐指数
1
解决办法
2696
查看次数

如何减少MPAndroidChart用于显示数据的时间?

我有一个应用程序,我有一个BarChart和一个CombinedChart但他们花了1-1.5秒,直到他们显示数据图表.

我从数据库中检索数据,而Volley正在请求获取数据,但我希望两个图表用于显示数据的时间将尽可能减少.

我想它可以通过导入的形式将库引入项目:

compile 'com.github.PhilJay:MPAndroidChart:v2.2.5'
Run Code Online (Sandbox Code Playgroud)

但我找不到任何其他方式来导入该库,或者是否正确的方法来执行此操作.也许这可能与我为此目的使用Volley的事实有关.

我该怎么做才能减少两个图表显示数据所花费的时间?它可以与我导入的表单相关吗?

任何建议将不胜感激.

提前致谢!

android mpandroidchart

10
推荐指数
1
解决办法
512
查看次数

MPAndroidChart:如何以固定间隔设置 x 轴标签

我正在显示实时图表,该图表应按秒显示值。我的 X 轴是以秒为单位的时间。但是我无法在 x 轴上显示固定的时间间隔,即。0,1,2,...等等。X 轴值是自动计算的,两个 x 值之间的时间间隔变为 20 秒,这是我不想要的。我需要你的帮助来解决这个问题。

任何帮助将不胜感激。

android mpandroidchart

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

如何在 MPAndroidChart 中为 x 轴的第一个/最后一个点设置边距/填充?

我需要在下面显示的折线图中的第一个点之前和最后一个点之后留出一些空间(红色矩形区域)。我如何在 MPAndroidChart 中实现这一点?

在此处输入图片说明

charts android mpandroidchart

10
推荐指数
3
解决办法
4326
查看次数

标签 统计

android ×10

mpandroidchart ×10

charts ×4

colors ×1

textcolor ×1