android - 饼图中心 - Android

标签 android math pie-chart

我正在使用适用于 Android 的 HoloGraphLibrary,但我需要饼图中每个段的百分比(在其段中)。

因为没有任何坐标系,我不能只找到线段并添加一些文本,所以我需要一个聪明的技巧来做到这一点。我唯一可以支配的值(value)观是: - 饼图的midX和midY坐标 - 内外半径 - 每段扫描(或它覆盖的 360 度角度)

我已经设法获得了标签的 Y 坐标,但是对 X 坐标使用相同的方法并没有产生正确的结果。这是我到目前为止的代码:

canvas.drawText(slice.getTitle(), (float) (midX + (innerRadius + (radius - innerRadius)/2)*-1*Math.cos((currentSweep-padding)/2*(Math.PI/180) )), (float) (midY - (innerRadius + (radius - innerRadius)/2)*Math.cos((currentSweep)/2*(Math.PI/180))), paint);

任何人都可以帮助将标签居中置于段中吗?

谢谢

最佳答案

好吧,我的错, 这是一个答案:

// add a text title centered in each slice :
        textAngle += currentSweep;
        mBlackColorPaint.setTextAlign(Paint.Align.CENTER);
        System.out.println("title : " + slice.getTitle() +  "Sweep : "+currentSweep + " Angle = "+currentAngle);
        canvas.drawText(slice.getTitle(),
                (float) (midX + (innerRadius + (radius - innerRadius)/2)*Math.sin((textAngle)*(Math.PI/360) )),
                (float) (midY - (innerRadius + (radius - innerRadius)/2)*Math.cos((textAngle)*(Math.PI/360))),
                mBlackColorPaint);
        textAngle += currentSweep;

在设置Region对象后把它放在onDraw()方法中

关于android - 饼图中心 - Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20310649/

相关文章:

java - 数学 - 小于 1 时得不到结果

python - 无法绘制饼图的值计数

android - ffmpeg - android ndk 构建汇编程序消息错误指令

android - 无法使用自定义适配器在 ListView 中设置项目边距

java - 无法安装应用程序: INSTALL_FAILED_USER_RESTRICTED

javascript - 图例中的 jqplot 链接

ios - 如何从饼图中删除底部颜色图标和标签

android - 在设备上调试时授予 Android 应用程序 android.permission.INTERNET 权限

python - 3D 中点和圆弧之间的距离

python - 如何解决 Python 中的递归关系