objective-c - 如何在 Core Plot 中输入 y 轴编号?

标签 objective-c ios macos cocoa core-plot

我希望使用 Core Plot 库制作的散点图能够显示相对于 X 数据的每个点附近的 Y 值。

我从 Core Plot 示例中查看了 CPTTestApp 项目,但我根本不明白。首先我认为 secret 在于

-(CPTPlotSymbol *)symbolForScatterPlot:(CPTScatterPlot *)plot recordIndex:(NSUInteger)index

方法,我已经在我的项目中实现了它。是的,我画了点,这很好,但我发现这可能与点附近显示的值无关......

当我从 Plot_Galley_Mac 演示中打开 Candlestick 演示时,这一怀疑得到了证实。上面没有任何方法,它可以很好地显示数字!

如果有人可以的话,请帮助我。否则,我要感谢开发人员与我们分享这个库。除了过度使用 NSDecimal 结构和一些薄弱的手册和引用数据之外,这是一个很棒的项目。

最佳答案

您正在寻找“数据标签”。 CPTPlot 有许多控制内置标签函数的属性:

  • labelOffset :点与标签之间的距离
  • labelRotation :旋转角度
  • labelTextStyle :用于绘制标签的文本样式
  • labelFormatter :用于格式化标签的数字(或日期)格式化程序
  • labelShadow :应用于标签的阴影属性

如果内置标签不能满足您的需求,您可以创建自己的标签。实现-dataLabelForPlot:recordIndex: datasource 方法并返回每个点所需的标签。自定义标签可以是任何 CPTLayer这样您就可以制作任何您想要的内容 - 文本、图像或您创建的任何自定义图层。

关于objective-c - 如何在 Core Plot 中输入 y 轴编号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8342347/

相关文章:

iOS - 无法在模拟器上写入文件

java - MacOS Catalina(v 10.15.3) : Error: “chromedriver” cannot be opened because the developer cannot be verified. 无法启动 Chrome 浏览器

ios - 无法让 DispatchGroup 在 Swift 中正常工作

ios - 更改 SpriteKit 节点的纹理

objective-c - NSMutableArray : How do I fix this 'EXC_BAD_ACCESS' code?

objective-c - 带有表情符号的 NSString

c++ - 将 C 代码注入(inject) *nix 应用程序 : replacing a function

python - Mac 上 Python 的 Midi 库

ios - 无法找到零星的 SIGABRT 错误!如何寻找原因?

C++ 和 Swift 彼此不喜欢