2015-03-03 60 views
0

我在Line系列中添加了Marks,但是當我們在相同的x軸上添加標記時,它將顯示之前添加的標記以及新的標記。我只想展示最後一個。重置系列圖表中的標記

m_ctrlChart.AddSeries(scLine);

m_ctrlChart.Series(0).AddNullXY(0, 5, ""); 
m_ctrlChart.Series(0).AddXY(22, 5, "C", 0); // Here we have added 'C' on 22. 
m_ctrlChart.Series(0).AddXY(22, 5, "SMP", 0); // Again we have added SMP on 22. 
m_ctrlChart.Series(0).AddXY(40, 5, "G", 0); 
m_ctrlChart.Series(0).SetTitle(LPCTSTR("Line Series 0")); 
CSeriesPointerItems pointerit =  m_ctrlChart.Series(0).GetAsLine().GetPointer(); 
pointerit.SetVisible(TRUE); 
pointerit.SetStyle(psStar); 
pointerit.GetBrush().SetStyle(bsClear); 

但我們想在22軸上顯示'SMP',並且想從該位置清除C.

謝謝, Prabhat。

回答

1

的TeeChart顯示了兩個標誌「C」和「SMP」因爲你增加了兩個點具有相同XValue這裏:

m_ctrlChart.Series(0).AddXY(22, 5, "C", 0); // Here we have added 'C' on 22. 
m_ctrlChart.Series(0).AddXY(22, 5, "SMP", 0); // Again we have added SMP on 22. 

要修改一個標籤,而不是增加一個新點我明白。 在這種情況下,您需要知道的第一件事是標籤要修改的點的index。在您發佈的代碼,你做兩次調用連續的,所以,要修改的點是最後的一系列的那一刻:

index = m_ctrlChart.Series(0).getCount()-1; 

或者,您可以使用返回值AddXY()調用給。即:

index = m_ctrlChart.Series(0).AddXY(22, 5, "C", 0); // Here we have added 'C' on 22. 

然後,一旦你有一點的index修改,您就可以使用它:

m_ctrlChart.Series(0).SetPointLabel(index, "SMP");