如何以编程方式在 iphone 中创建图表

Posted

技术标签:

【中文标题】如何以编程方式在 iphone 中创建图表【英文标题】:How to create Graphs in iphone programmatically 【发布时间】:2011-07-30 10:52:48 【问题描述】:

是否可以使用 Objective-C 在 iphone 中创建这样的图形。

我已经从 hg clone http://core-plot.googlecode.com/hg/ core-plot 下载了 core-plot 库,并尝试从 http://www.jaysonjc.com/programming/pie-chart-drawing-in-iphone-using-core-plot-library.html 做一个示例,但我什至无法下载一个也没有构建的示例。它给出的错误是:

/Users/apple/Desktop/coreplotLibExamples/piechartsample/Classes/PieChart_SampleViewController.m:15:0 /Users/apple/Desktop/coreplotLibExamples/piechartsample/Classes/PieChart_SampleViewController.m:15:错误:'CPLayerHostingView'未声明(第一个在这个函数中使用)

【问题讨论】:

Cocoa Graphing/Plotting Framework that Works on iPhoneOS的可能重复 【参考方案1】:

这取决于您的需求。如果您在 y 轴上有固定数量的类别,那么您可以创建三个 UIView,分别为红色、黄色和绿色,然后分别设置宽度。如果您有不同数量的类别/比例,您将需要进行石英绘图,并且可能需要查看图形 API,例如 core plot。

无论如何,要使用 UIViews 执行此操作,您的代码将如下所示(对于图中的每个项目):(未经测试)...

#define kBarHeight 50 // Or however much you want

float graphWidth = 200; // Suppose you had 200 px across.    

int high = 3;
int emerging = 3;
int low = 6;

float total = high+emerging+low;
float oneSect = graphWidth/total;

redView.frame = CGRectMake(0,0,oneSect*high,kBarHeight);
yellowView.frame = CGRectMake(redView.frame.size.width,0,oneSect*emerging,kBarHeight);
greenView.frame = CGRectMake(redView.frame.size.width+yellowView.frame.size.width,0,oneSect*low,kBarHeight);

【讨论】:

【参考方案2】:

您可以使用Core Plot

【讨论】:

【参考方案3】:

对于上面编辑的问题,它给出了错误,因为“CPLayerHostingView”是针对 MAC 的。我们需要在 iphone 和 viewDidLoad 方法中使用 'CPTGraphHostingView' .hostedGraph = graph;

【讨论】:

以上是关于如何以编程方式在 iphone 中创建图表的主要内容,如果未能解决你的问题,请参考以下文章

我们可以以编程方式更改在 iPhone 中创建的快捷方式的图标和名称吗

如何在 iphone 中创建图表应用程序

是否可以在 Apple Watch 中创建图表?

如何以编程方式在 WordPress 中创建帖子 [关闭]

如何以编程方式在 iOS 中创建 PDF?

如何以编程方式在 UIScrollview 中创建 UIScrollview