2016-03-09 36 views
0

我一直在試圖建立陰謀下的梯度:核心地塊 - 梯度低於線

//add gradient to line 
    CPTColor *underLineGradientStartColor  = [CPTColor colorWithComponentRed:CPTFloat(0.0) green:CPTFloat(1.0) blue:CPTFloat(0.0) alpha:CPTFloat(1.0)]; 
    CPTColor *underLineGradientEndColor   = [CPTColor colorWithComponentRed:CPTFloat(1.0) green:CPTFloat(0.0) blue:CPTFloat(0.0) alpha:CPTFloat(1.0)]; 
    CPTGradient *underLineGradient    = [CPTGradient gradientWithBeginningColor:underLineGradientStartColor endingColor:underLineGradientEndColor]; 
    underLineGradient.angle      = -90.0; 
    CPTFill *underLineGradientFill    = [CPTFill fillWithGradient:underLineGradient]; 
    dataSourceLinePlot.areaFill     = underLineGradientFill; 

我還設置了areaBaseValues:

dataSourceLinePlot.areaBaseValue = @0; 
dataSourceLinePlot.areaBaseValue2 = @255; 

我要去值繪圖的範圍在0-255範圍內(繪圖的範圍設置爲常量)。然而,有時我會收到無效值(例如1000)。不正確的值不會顯示,因爲它們超出範圍。但是,漸變要填充它們,並且結果中的漸變不可見(只有最下面的部分在屏幕上 - 不是全部範圍)。我該如何改變它?

編輯: 這是現在的樣子: enter image description here 我想有從0到255梯度(高於255的值可以是純綠色)。

+0

您是否希望填充出現在無效值的下方或者您是否想填充空隙? –

+0

現在出現無效值,但它們被切割爲255(最大範圍 - 它是正確的)。我希望漸變最大值爲255,上面的所有值都是純綠色。 – izik461

回答

1

讓數據源剪輯的無效數據點位於繪圖範圍的最大值之外。例如,如果繪圖範圍永遠不會超過255,那麼對於任何無效的數據點,使數據源返回255.1的y值。無論255以上的填充是什麼都不重要,因爲它在繪圖區域之外,你永遠不會看到它。

+0

這是我已經做的,以解決這個問題。我認爲baseValues在CorePlot中意味着這麼做。謝謝您的幫助。 – izik461