gpt4 book ai didi

objective-c - 如何填充图表以使线条不会被边缘剪裁?

转载 作者:行者123 更新时间:2023-12-03 17:14:46 25 4
gpt4 key购买 nike

我已经很好地寻找了这个问题的答案,并在我的代码中尝试了几种解决方案,但到目前为止什么也没找到。

我正在绘制一个折线图,一个 CPTScatterPlot 图,并且我已经正确添加了点。我想将这些点中的每一个显示为直径约 3-5 像素的点,并通过约 3 像素宽的线连接。这一切都运行良好。

问题是,当绘图沿着托管 View 的图形边缘之一呈直线时,线条和点会被剪切,看起来根本不正确。

这是它应该是什么样子的模型:
This is what it should look like

这就是我目前大部分时间看到的效果:
enter image description here

我对小图像表示歉意,但希望您可以看到在第二个图像中,线条和点仅在图形 View 中渲染了几个像素,而不是完全显示在 View 中。在第二个中,前 75% 的数据实际上位于 y=1,然后下降到 y=0。

如何将图形组件的绘制插入几个像素以防止剪切任何形状?

到目前为止:

  • 我尝试在图表上设置填充,但这只是收缩它所吸引的区域,我想为标题腾出空间我没有使用它。

  • 我还尝试添加最小/最大 x/y 范围设置根据我在后台更新的数据重新计算。这有效,但显然只有当我添加到这些值中的金额是正确的相对于将用于的绘图比例我正在输入的数据值。

  • 我在 Mac 操作系统上使用 NSView(实际上是 CPTGraphHostingView),因此 clipsToBounds 不可用。另外,我在 CPTXYGraph 上尝试了 masksToBoundsmasksToBorder

最佳答案

我认为解决这个问题最简单的方法就是简单地稍微扩展你的范围。 CPTPlotRange 中有一种方法可以很容易地将给定范围扩展固定百分比(例如 1%)。我认为主要的测试应用程序示例甚至展示了这一点。

另一个选项是关闭 CPTPlotArea (plotArea) 以及可能的 CPTPlotAreaFrame (plotAreaFrame) 上的 maskToBounds 和/或 maskToBorder。您可以通过图表的属性来访问它们。

关于objective-c - 如何填充图表以使线条不会被边缘剪裁?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10068283/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com