gpt4 book ai didi

c# - 智能饼图标签放置算法?

转载 作者:太空狗 更新时间:2023-10-30 01:27:11 26 4
gpt4 key购买 nike

我正在为我的公司构建一个自定义图表库。我很难找到/发明一个好的算法来放置图表标签,以满足以下要求:

  • 标签不应重叠
  • 标签应尽可能靠近相关切片
  • 如果标签必须从其切片上移开,则最好沿径向向外移动。

  • 需要明确的是,这在我的书中相当不错:

    http://betterdashboards.files.wordpress.com/2009/02/piechartpercentagelabel1a.png

    提前致谢!

    最佳答案

    在示例图像中,没有碰撞测试 (即标签可能重叠)。因此,该算法非常简单:

  • 有一个第一行它从饼的一部分的中心开始,方向与饼中心相反。第一行具有固定长度。
  • 第二行是水平的(也是固定长度),根据第一行的角度向左或向右移动,
  • 跟随左对齐或右对齐的文本,也根据第一行的角度。

  • 您可以在您的应用程序中使用相同的算法,因为它看起来最和谐。但是如果您有几个太靠近的饼图部分,文本可能会重叠。

    为了避免这种情况,您可以测试碰撞,即。 查看两条水平线是否靠得太近 ,然后 改变第一条线的角度 (或者可能是两个最近的饼部分中第一条线的角度),直到水平线足够远。

    关于c# - 智能饼图标签放置算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3364705/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com