【问题标题】:How to get smooth curved graph using core Plot?如何使用核心 Plot 获得平滑的曲线图?
【发布时间】:2016-06-01 09:35:15
【问题描述】:

图表是使用如图所示的核心图设计的。

我的散点图代码

CPTScatterPlot *editableLinePlot = [[CPTScatterPlot alloc] init];
editableLinePlot.interpolation = CPTScatterPlotInterpolationCurved;



CPTMutableLineStyle *lineStyle = [editableLinePlot.dataLineStyle mutableCopy];
lineStyle.lineWidth              = 3.0;
lineStyle.lineColor              = [CPTColor redColor];


editableLinePlot.dataLineStyle = lineStyle;
editableLinePlot.dataSource = self;
editableLinePlot.delegate = self;
editableLinePlot.identifier = redPlotIdentifier;
editableLinePlot.plotSymbolMarginForHitDetection = 20.0;

绘图空间设置为

/*Set scatter plot space and range*/
CPTXYPlotSpace *plotSpace = (CPTXYPlotSpace *)graph.defaultPlotSpace;
plotSpace.allowsUserInteraction = YES;
plotSpace.delegate              = self;
plotSpace.xScaleType = CPTScaleTypeLog;

plotSpace.yScaleType = CPTScaleTypeLinear;
/* Auto scale the plot space to fit the plot data*/
[plotSpace scaleToFitPlots:[graph allPlots]];

但是当我向上或向下移动一个绘图点时,它不是一条平滑的曲线,而是显示为一个小尖峰。 我在这里错过了任何实现吗?请帮助,这个问题现在对我来说是个问题。

【问题讨论】:

    标签: ios objective-c graph core-plot


    【解决方案1】:

    该图上有太多的绘图点,以至于绘图符号重叠。您看到的是曲线图,只是曲线在不在基线上的点周围非常尖锐,看起来像尖峰。

    【讨论】:

    • 是的,我必须绘制 666 个点。有没有办法在核心图中设置贝塞尔范围。这样我就可以在更广泛的范围内应用贝塞尔曲线。那么曲线可能不像尖峰。
    • 2.1 版添加了curvedInterpolationOption 以提供一些不同的方式来绘制曲线图线。峰两侧的点非常靠近,无论您使用哪种曲线方法,您都会看到尖峰。您需要删除基线上的一些冗余点,以便为更宽的峰留出空间。
    猜你喜欢
    • 2012-02-07
    • 1970-01-01
    • 2018-10-16
    • 2021-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-25
    相关资源
    最近更新 更多