重置线系列 Teechart 中的标记
Reset Marks in Line Series Teechart
我已经在 Line 系列中添加了标记,但是当我们在同一个 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 x 轴上显示 'SMP' 并希望从该位置清除 C。
谢谢,
帕巴特.
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() 调用提供的 return 值。即:
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");
我已经在 Line 系列中添加了标记,但是当我们在同一个 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 x 轴上显示 'SMP' 并希望从该位置清除 C。
谢谢, 帕巴特.
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() 调用提供的 return 值。即:
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");