【问题标题】:Is there a good charting library for iPhone? [closed]iPhone 有没有好的图表库? [关闭]
【发布时间】:2009-04-20 19:23:24
【问题描述】:

我需要在我正在开发的 iPhone 应用程序中渲染和显示图表(现在是条形图,但以后可能需要更多类型)。我做了一些环顾四周,看起来还没有任何真正好的、成熟的 iPhone 图表库。我还寻找了在 Mac 上为 Cocoa 编写的可以改编的东西,但还没有找到任何好的东西。

以前有人处理过这个吗?有什么建议吗?

我确实找到了Core Plot,但它似乎处于开发的早期阶段。

编辑以添加一些要求的详细信息(目前的情况;))

  • 条形图
  • 水平条形图
  • 双堆积条形图
  • 轴标签(包括在 y 轴上旋转 90 度)
  • 图表上每个条形上方的标签
  • 阴影或自定义背景

【问题讨论】:

标签: ios cocoa cocoa-touch charts core-plot


【解决方案1】:

促成Core Plot 项目的众多因素之一是iPhone 上缺乏良好的绘图框架。 Core Plot 还包含许多其他用例,包括桌面系统,但它的设计从一开始就包括 iPhone 支持。它已接近可用,目前已在多个 iPhone 和 OS X 应用程序中使用。

编辑 2/10

自从我第一次发布摘要以来,Core Plot 已经走过了漫长的道路。该框架现在具有条形图(我相信包括水平条形图)、轴标签(包括任意旋转)以及图形的填充和背景。我不确定堆叠条形图,但添加到实现条形图的CPBarPlot 类中并不难。至于注释,有一个 CPAnotation 类,如果没有您需要的确切功能,您可以将其子类化以添加注释。

项目on github

【讨论】:

  • 同意。有一些非常优秀的具有科学头脑的 Cocoa 程序员正在研究这个,所以我希望它能够迅速发展。此外,此 Google 群组位于 groups.google.com/group/coreplot-discuss?hl=en 。这些档案值得一读,看看人们会去哪里。
  • 我查看了 Core Plot,看起来条形图完全没有实现。我仍然会关注这个项目。
  • 在此期间,Core Plot 添加了许多功能,包括条形图、水平条形图、自定义绘图标签、角度标签和主题(包括自定义背景)。
  • CorePlot 在功能方面还可以,但速度非常慢。多点触控交互非常缓慢。完全破坏了原本流畅的 iPhone 或 iPad 应用程序的体验。
  • 最近有人用过CorePlot吗?从那以后它有什么或多大的改进?
【解决方案2】:

作为 CorePlot 的商业替代品,我建议尝试一下 ShinobiControls,他们有一些非常漂亮的图表。它们还具有非常出色的性能,以 60fps 的速度渲染超过 100,000 点的图表并支持多点触控。

作为全面披露,我在 Scott Logic 工作,它是 ShinobiControls 的母公司。

【讨论】:

  • 看起来不错,但是你们有为 OS X 开发库的计划吗?
【解决方案3】:

我有自己的库,名为 PowerPlot,可在双许可模式下使用。

您可以按照上面的链接安装演示应用程序,该应用程序展示了几个示例图表。您还可以下载该库的 GPL 版本并检查它是否符合您的需求。除了水平条形图之外,它还具有所需的功能 - 特别是条形图、堆叠条形图、各种轴标签位置和方向。

【讨论】:

    【解决方案4】:

    一两年前,我进行了自己的搜索,最后制作了自己的折线图课程,因为我找不到任何可以完全按照我需要的方式工作的东西。不过要注意的两个大的是SM2DGraphViewGraphX。我还没有在 iPhone 项目中尝试过,但我知道 SM2DGraphView 是开源的,因此您可以根据需要对其进行修改。

    我也考虑过使用 WebView 来使用 JavaScript 图形库,但这只是一个想法。

    【讨论】:

    • HighCharts 是一个优秀的 JavaScript 图形库,仅供参考。
    【解决方案5】:

    有一个新的、漂亮的饼图 3D 库。可以用手指旋转和缩放的 3D 图表 + 获取有关点击切片的信息的协议

    http://iphone.orpi.pl/?p=20

    【讨论】:

    • 感谢这个,看起来真的很棒!
    【解决方案6】:

    我需要一个雷达图(或蜘蛛网图)但我找不到,所以我自己实现了:

    RPRadarChart

    您可以随意使用它,如果您愿意,请告诉我!我会慢慢添加更多的功能,如果你想通过github问我一些具体的问题。

    【讨论】:

      【解决方案7】:

      理论上,您可以将Google Chart APICocoa wrapper 一起使用。这可能是一个轻量级的解决方案。

      【讨论】:

      • 我确实考虑过这一点,但如果没有互联网连接,Google Charts 将无法工作。
      • 指向 Cocoa 包装器的链接已失效
      【解决方案8】:

      这个好像也不错

      s7graphview

      (但从未真正尝试过)。

      【讨论】:

      • 我用过这个,它会工作,但对于非常基本的数据集。我遇到的一些问题是它无法绘制低于零的值,并且它倾向于舍入任何非整数值。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-04
      • 1970-01-01
      • 1970-01-01
      • 2010-12-13
      相关资源
      最近更新 更多