2015-11-06 30 views
0

我是Shinobi Tools的新手,我有一組要點,我想要連接到一系列線。我看到shinobi提供了SChartLineSeries這個功能。難道有人會那麼好,並向我解釋:D?我真的沒有得到文件。 代碼示例會很好!Shinobi Chart LineSeries Swift/Obj-C

這是我目前有 Current Situation

這是我想達到的目標。我有5個x和y值。那些不應該用直線連接。樣條線 What I want

回答

1

您是不是看了這個:https://www.shinobicontrols.com/ios/shinobicharts/quickstartguide?其實很好,但他們的頁面並不那麼用戶友好,起初我有麻煩找到它。

下面的解決方案在Objective-C中,但它應該直接轉換成Swift。

簡而言之: 首先導入的框架:

#import <ShinobiCharts/ShinobiChart.h> 

然後創建圖表對象和所述軸:

// in viewDidLoad 
ShinobiChart* _chart; 
_chart.xAxis = [[SChartNumberAxis alloc] init]; 
_chart.yAxis = [[SChartNumberAxis alloc] init]; 
_chart = [[ShinobiChart alloc] initWithFrame:self.view.bounds]; 

[self.view addSubview:_chart]; 

然後實現數據源<SChartDatasource>

// in viewDidLoad 
_chart.datasource = self; 

- (int)numberOfSeriesInSChart:(ShinobiChart *)chart { 
    return 2; 
} 

-(SChartSeries *)sChart:(ShinobiChart *)chart seriesAtIndex:(int)index { 
SChartLineSeries *lineSeries = [[SChartLineSeries alloc] init]; 
    if (index == 0) { 
     lineSeries.title = [NSString stringWithFormat:@"y = cos(x)"]; 
    } else { 
     lineSeries.title = [NSString stringWithFormat:@"y = sin(x)"]; 
    } 

    return lineSeries; 
} 

- (int)sChart:(ShinobiChart *)chart numberOfDataPointsForSeriesAtIndex:(int)seriesIndex { 
    return 100; 
} 

- (id<SChartData>)sChart:(ShinobiChart *)chart dataPointAtIndex:(int)dataIndex forSeriesAtIndex:(int)seriesIndex { 

    SChartDataPoint *datapoint = [[SChartDataPoint alloc] init]; 

    // both functions share the same x-values 
    double xValue = dataIndex/10.0; 
    datapoint.xValue = [NSNumber numberWithDouble:xValue]; 

    // compute the y-value for each series 
    if (seriesIndex == 0) { 
     datapoint.yValue = [NSNumber numberWithDouble:cosf(xValue)]; 
    } else { 
     datapoint.yValue = [NSNumber numberWithDouble:sinf(xValue)]; 
    } 

    return datapoint; 
} 

聲明:數據源實現來自qui ck開始指南,我上面介紹了哪個鏈接。

- 編輯 -

曲線,你需要自己添加更多的數據點(計算值,並設置超過5個點)的圖表。請參閱Shinobi Chart支持論壇上的討論:https://www.shinobicontrols.com/forum/shinobicontrols/2015/6/spline-line-chart

+0

謝謝是的,我已經看到了這一點。但是如果我用自己的填充x和y值,那麼我只能得到折線圖。但我想要的是那些線條變圓,而不是那些直線。我會上傳一張picutre – Anokrize

+0

@Anokrize我不明白你到底需要做什麼。編輯問題後,在評論中提及我。也許添加更多細節(如果您以前添加它,我不會重寫您已經做過的事情......)。 – Vive

+0

現在看下面的圖片是我想要實現的@Vive – Anokrize

0

免責聲明:我是Shinobi Controls的開發人員。

我們目前的SChartLineSeries不支持直接開箱即用的流暢線條。

但是,這是一個頻繁請求的功能,因此我們的下一個版本的圖表包含使平滑線條更容易實現的功能。

與此同時,您可以通過向圖表中添加更多數據點來獲得平滑線條,爲它們提供將繪製曲線的數據值。正如Vive在她的回答中解釋的那樣。

我們將在包含此功能的版本發佈後更新此帖子。

親切的問候,

安德魯Polkinghorn。