Issues with plotting functionality
Posted: Tue Sep 28, 2010 11:38 am
Hello,
We are using TeeChart Pro Activex Control v7 and also tested the functionality with TeeChart Pro v8 ActiveX evaluation version.
but even then we are observing following issues:
We are using following function for plotting graph which is called after every 100ms.
1. The graphs flicker a lot. Meaning they dissappear for a moment and then get plotted.
2. For the above problem we have put delay due to which the problem is resolved to some extend but the same appears but less frequently,
Is the delay necessary?
3. Graphs height expands momentarily and then restores back to normal size.
4. In the graph when user scrolls the graph we want to store the max displayed value on the left axes.
Suppose the maximum Y value is 700
and user has adjusted the graph to 715 by scrolling the axes then we want to retrieve this 715 value.
We tried with MaxVisibleValue but it returns -1 for maximum times or in some cases it returns 63 or 78, it doesnt show the right value.
Please suggest us solution to resolve our issues.
Do you see any problem the way we are using graph plotting functionality.
Thanks in advance,
We are using TeeChart Pro Activex Control v7 and also tested the functionality with TeeChart Pro v8 ActiveX evaluation version.
but even then we are observing following issues:
We are using following function for plotting graph which is called after every 100ms.
1. The graphs flicker a lot. Meaning they dissappear for a moment and then get plotted.
2. For the above problem we have put delay due to which the problem is resolved to some extend but the same appears but less frequently,
Is the delay necessary?
3. Graphs height expands momentarily and then restores back to normal size.
4. In the graph when user scrolls the graph we want to store the max displayed value on the left axes.
Suppose the maximum Y value is 700
and user has adjusted the graph to 715 by scrolling the axes then we want to retrieve this 715 value.
We tried with MaxVisibleValue but it returns -1 for maximum times or in some cases it returns 63 or 78, it doesnt show the right value.
Code: Select all
for(int nChartIndx = 0; nChartIndx < 4; ++nChartIndx, ++nTunTableCnt)
{
if (m_bDisplayGraph[nChartIndx] == true)
{
nMin = stTuneTable.nMinMass[nTunTableCnt];
nMax = stTuneTable.nMaxMass[nTunTableCnt];
nWidth = nMax - nMin;
nNumOfIntensitiesInWnd = m_nNumPts * nWidth;
nMinMassIndx = nIntensityCnt;
nMaxMassIndx = nIntensityCnt + nNumOfIntensitiesInWnd;
if(m_graph[nChartIndx].m_hWnd != NULL)
{
m_series[nChartIndx].SetActive(false);
m_series[nChartIndx].Clear();
}
try
{
for (double dblCnt = nMin ; dblCnt < (nMax); ++nIntensityCnt, dblCnt += dblMassIncr)
{
dblMassVal = dblCnt;
// converting Intensity in percentage, so highest intensity mapped to 100%
dblIntensity = (vecdblIntensityValues[nIntensityCnt]);
m_series[nChartIndx].AddXY(dblMassVal, dblIntensity, _T(""), SERIES_COLOR_BLUE);
}
Sleep(20);
m_series[nChartIndx].SetActive(true);
m_series[nChartIndx].RefreshSeries();
CLogger::TRACE_DBG_MSG(_T(__FILE__), __LINE__, eTRAC_INFORMATION, _T("\n Value For Graph:%d LAST INDEX %d \n "),nChartIndx ,m_graph[nChartIndx].Series(nChartIndx).MaxVisibleValue(1));
}
catch(...)
{
int n = 10;
}
}
// m_graph[nChartIndx].RedrawWindow();
// m_graph[nChartIndx].UpdateWindow();
//
}
Please suggest us solution to resolve our issues.
Do you see any problem the way we are using graph plotting functionality.
Thanks in advance,