忍者图表网格线以数据点结束,而不是一直到图表顶部
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
使列看起来很细。
希望信息有用!
我正在 iOS 应用程序中绘制图表,我希望网格线从 x 轴开始但以数据点结束,而不是一直延伸到顶部。
这可能吗?
提前致谢。
NC
免责声明:我为 ShinobiControls 工作
shinobicharts 框架目前不支持将此作为开箱即用的功能。
虽然可能存在解决方法。您可以通过使用 SChartAxis
方法 pixelValueForDataValue:
来添加您自己的网格线子视图,以计算出在绘图区域坐标 space 中您应该为给定数据绘制垂直线的位置点.
获得坐标后,您可以通过多种方式绘制网格线:
- 在图表后面或前面添加一个 canvas 视图(取决于您想要的效果)。然后使用您的坐标使用 CoreGraphics 或其他绘图技术绘制网格线。
- 使用您的坐标创建单独的 UIView,每个 UIView 代表一条网格线,并将它们添加到图表的后面或前面。
使用此技术需要注意的一件事是,当您平移和缩放时网格线不会自动更新。为此,您需要重写图表的委托方法之一,该方法通知您范围更改并更新绘制的网格线以匹配新的数据点位置。
另一个可能的解决方法是使用列系列来模拟网格线。如果您创建一个列系列并为其提供与原始系列相同的数据点,这将导致列达到每个数据点的 y 值。然后,您可以在 SChartAxisStyle
上使用 属性 interSeriesSetPadding
使列看起来很细。
希望信息有用!