标签: mpandroidchart

选择值时显示标签 [MPAndroidChart]

我想在选择一个值时显示带有特定数据的标签,如我想要的演示图像中所示:

我想要的图片

所以我粘贴此代码(在示例的源代码中找到):

protected RectF mOnValueSelectedRectF = new RectF();

@Override
public void onValueSelected(Entry e, Highlight h) {

    if (e == null)
        return;

    RectF bounds = mOnValueSelectedRectF;
    mChart.getBarBounds((BarEntry) e, bounds);
    MPPointF position = mChart.getPosition(e, AxisDependency.LEFT);

    Log.i("bounds", bounds.toString());
    Log.i("position", position.toString());

    Log.i("x-index",
            "low: " + mChart.getLowestVisibleX() + ", high: "
                    + mChart.getHighestVisibleX());

    MPPointF.recycleInstance(position);
}
Run Code Online (Sandbox Code Playgroud)

但它不起作用,显示日志但屏幕上没有任何反应。我忘记或错过了什么

android mpandroidchart

3
推荐指数
1
解决办法
4955
查看次数

在 MPAndroidChart 中,图表坐标上不显示负值

使用MPAndroidChart我尝试制作以下两个图表。以下图像是不言自明的:一张是当 y 轴为正时,另一张是当 y 轴为负时(此处图表的值不可见):正轴图 负轴图

android mpandroidchart

3
推荐指数
1
解决办法
4114
查看次数

如何在饼图外添加标签

如何在图表外添加值文本和切片文本?

类似于此图片:

在此输入图像描述

谢谢

java android kotlin mpandroidchart

3
推荐指数
1
解决办法
1393
查看次数

MpAndroidChart 带圆角的饼图

我正在尝试使用 MpAndroidChart 库绘制带有圆角的饼图。

预期输出与此类似。

在此输入图像描述

两端都需要是外圆的。有一个方法pieChart.setDrawRoundedSlices(true),但问题是饼图的起点变得内圆。

这是实际的输出。

在此输入图像描述

// initialise pie chart UI
fun initChart(mChart: PieChart) {
    mChart.description.isEnabled = false
    mChart.holeRadius = 75f
    mChart.transparentCircleRadius = 60f
    mChart.setHoleColor(Color.TRANSPARENT)
    mChart.legend.isEnabled = false
    mChart.isRotationEnabled = false
    mChart.setTouchEnabled(false)
    mChart.maxAngle = 270f
    mChart.rotation = -135f
    mChart.animateX(400)
    mChart.setDrawRoundedSlices(true)
}
Run Code Online (Sandbox Code Playgroud)

charts android pie-chart material-design mpandroidchart

3
推荐指数
1
解决办法
2779
查看次数

如何使用 MPAndroid 绘制平滑的折线图以避免三次贝塞尔曲线出现错误值?

我举个例子,这是我的图表(请注意,我已经降低了贝塞尔强度以减少线条的错误):

图像

我希望它以这种方式呈现:

图像

请原谅画得很糟糕的红线,我只是用MS Paint来画得很快,呵呵。

我希望我的图表看起来像第二个示例中的红线,其中曲线的边缘是我的值,而不是0.1f我的值点之前的 x。我还注意到,当使用xAxis启用时,它无法正确显示我的值,其中整数从 0 到 4(含),但显示为浮点数,如 0.9、1.9、...、3.9,与贝塞尔曲线边缘匹配。我相信这是错误的。

根据记录,贝塞尔模式正在应用于我的数据集dataSet.mode = LineDataSet.Mode.CUBIC_BEZIER

user-interface charts frontend android mpandroidchart

3
推荐指数
1
解决办法
971
查看次数

如何在 Kotlin 中使用 MPAndroidChart 为条形图添加包含一些详细信息的标记?

我使用 MPAndroidChart库创建了一个堆叠条形图,现在当用户单击条形图时,我想显示一个包含一些详细信息的标记,如下图所示: 在此输入图像描述

我发现了关于这个主题的不同主题,但找不到明确的解决方案,所以如果可以的话请帮助我。谢谢!

编辑

 for (item in dataTicketsList) {
        if (i <= 2) {

            val firstValue: String = transformDataForChart(item.values.first!!)
            hoursValuesArray.add(firstValue.toFloat())

            val secondValue: String = transformDataForChart(item.values.second!!)
            hoursValuesArray.add(secondValue.toFloat())

            val thirdValue: String = transformDataForChart(item.values.third!!)
            hoursValuesArray.add(thirdValue.toFloat())

            entriesVerticalBar.add(BarEntry(i, hoursValuesArray.toFloatArray()))
            i++
            hoursValuesArray.clear()

            if (item.label!!.contains("." + (Calendar.getInstance().get(Calendar.YEAR) - 1).toString())) {
                val date: String = item.label!!.replace("." + (Calendar.getInstance().get(Calendar.YEAR) - 1).toString(), "")
                barLabesArrayList.add(date)
            } else if (item.label!!.contains("." + (Calendar.getInstance().get(Calendar.YEAR)).toString())) {
                val date: String = item.label!!.replace("." + (Calendar.getInstance().get(Calendar.YEAR)).toString(), "")
                barLabesArrayList.add(date)
            }
        }
    }

    verticalBarChartColors.add(Color.rgb(89, 93, …
Run Code Online (Sandbox Code Playgroud)

charts android bar-chart kotlin mpandroidchart

3
推荐指数
1
解决办法
2546
查看次数

我在我的项目中添加 MPAndroidChart 但在我的 xml 中找不到 LineChart

我想在我的项目中使用 MPAndroidChart。
我在我的 gradle 中添加了该库,但在我的 xml 布局文件中,我找不到 Chart。
我的 build.gradle(Module) 是这样的:

dependencies {

implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0' 
}
Run Code Online (Sandbox Code Playgroud)

build.gradle(Project) 是这样的:

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
        google()
        mavenCentral()
        maven { url 'https://jitpack.io' }

    }
    dependencies {
        classpath "com.android.tools.build:gradle:7.0.3"
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.20"

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}
Run Code Online (Sandbox Code Playgroud)

但我在 xml 布局文件中找不到图表 在此输入图像描述

xml android-layout kotlin mpandroidchart

3
推荐指数
1
解决办法
2468
查看次数

MPAndroidChart,如何将XLabels集中在网格线之上?

我有一个简单的MPAndroidChart库线图:

chart.setDrawYValues(false);
chart.setDescription("");
chart.setDrawVerticalGrid(true);
chart.setDrawGridBackground(false);

XLabels xl = holder.chart.getXLabels();
xl.setCenterXLabelText(true);
xl.setPosition(XLabelPosition.BOTTOM);

YLabels yl = holder.chart.getYLabels();
yl.setLabelCount(5);

// set data
chart.setData((LineData) mChartData);

chart.setDrawYValues(true);
chart.setValueTextSize(20f);

// zooming on both axis
chart.setPinchZoom(true);
chart.animateX(1000);
Run Code Online (Sandbox Code Playgroud)

但我有一个可视化问题.X轴上的标签不在相对网格线下,但在两条线之间(在Y轴上我没有这个问题).有没有办法将Y标签正好放在相对网格线下?

android mpandroidchart

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

MPAndroidChart如何绘制y轴限制线并将视点设置为底部

MPAndroidChart是非常棒的库.我非常感谢.但现在,我有3个问题.

我使用的版本是......

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

我的问题是,......

左:现在 - >右:想成为 在此输入图像描述

1.如何在折线图或条形图上绘制限制Y值线?

例如,我想在Image上绘制y = 200行的值.(例如附加图片top.shown红色)

2.如何将视点设置为底部并将y轴薄荷限制到底部值? (例如附加图像底部)我想将视点设置为底部.我尝试了这段代码,但仍然有一些填充.

    XAxis xAxis = mBarChart.getXAxis();
    xAxis.setAxisMinValue(0);
Run Code Online (Sandbox Code Playgroud)

我想修剪这个填充.

*编辑

这很好用.谢谢!

    mChart.getAxisLeft().setAxisMinValue(0); 
Run Code Online (Sandbox Code Playgroud)

3.如何在折线图上删除图形点?

折线图,底部图像,有很多标记.所以我想删除这些情节点.

java android mpandroidchart

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

如何在MPAndroidChart中获取onValueSelected()内部条目的选定标签?

我已经OnChartValueSelectedListener为我的饼图写了以下内容.我可以使用下面的代码获取值.但是,我想获得文本标签.在下面的代码中,e.getY()将获得y值.如何获取文本标签Entry

holder.chartyear.setOnChartValueSelectedListener(new OnChartValueSelectedListener() {
        @Override
        public void onValueSelected(Entry e, Highlight h) {
            Log.e("VAL SELECTED", "Value: " + e.getY() + ", index: " + h.getX()
                            + ", DataSet index: ");
        }

        @Override
        public void onNothingSelected() {

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

android mpandroidchart

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