忍者图表网格线以数据点结束,而不是一直到图表顶部

shinobi chart gridline end in data point instead of going all the way to the top of chart

我正在 iOS 应用程序中绘制图表,我希望网格线从 x 轴开始但以数据点结束,而不是一直延伸到顶部。

这可能吗?

提前致谢。

NC

免责声明:我为 ShinobiControls 工作

shinobicharts 框架目前不支持将此作为开箱即用的功能。

虽然可能存在解决方法。您可以通过使用 SChartAxis 方法 pixelValueForDataValue: 来添加您自己的网格线子视图,以计算出在绘图区域坐标 space 中您应该为给定数据绘制垂直线的位置点.

获得坐标后,您可以通过多种方式绘制网格线:

  • 在图表后面或前面添加一个 canvas 视图(取决于您想要的效果)。然后使用您的坐标使用 CoreGraphics 或其他绘图技术绘制网格线。
  • 使用您的坐标创建单独的 UIView,每个 UIView 代表一条网格线,并将它们添加到图表的后面或前面。

使用此技术需要注意的一件事是,当您平移和缩放时网格线不会自动更新。为此,您需要重写图表的委托方法之一,该方法通知您范围更改并更新绘制的网格线以匹配新的数据点位置。

另一个可能的解决方法是使用列系列来模拟网格线。如果您创建一个列系列并为其提供与原始系列相同的数据点,这将导致列达到每个数据点的 y 值。然后,您可以在 SChartAxisStyle 上使用 属性 interSeriesSetPadding 使列看起来很细。

希望信息有用!