【(VC/MFC)绘图控件TeeChart问题】如何设置X轴显示时间(vs2010)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了【(VC/MFC)绘图控件TeeChart问题】如何设置X轴显示时间(vs2010)相关的知识,希望对你有一定的参考价值。

网上看到教程说
m_Chart.Series(0).GetXValues().SetDateTime(true);
可以使x轴显示时间
但是在vs2010下并没有找到SetDateTime这个函数,于是很蛋疼!用的是TeeChartv5.0
CSeries ChartSpeed = (CSeries)m_ChartTrend.Series(0);
ChartSpeed.get_XValues()后就没看到有那个函数!
如何设置为x轴显示时间?

CSeries ChartSpeed = (CSeries)m_ChartTrend.Series(0);
long i(0);
float pf[1];
//ces
COleDateTime oletime(2011,10,10,10,10,10);
COleDateTimeSpan oleSpantime(0,0,0,1);
ZeroMemory(g_fArraySpeed,sizeof(float)*16384);
for (i=0;i<m_nSpeedTrendDataLength;i++)

pf[0]=g_fArraySpeed[i];
SafeArrayPutElement(m_pSAy,&i,pf);
SafeArrayPutElement(m_pSAx,&i,&oletime);
oletime+=oleSpantime;

// (ChartSpeed.get_XValues())->SetDateTime(true);(这里没有SetDateTime这个函数)
ChartSpeed.Clear();
ChartSpeed.AddArray(m_nSpeedTrendDataLength,m_AY,m_AX);

最近也在学习Teechart,看看这个,X轴显示的时间,Y轴显示的是随机数。
void CTestTeeChartDlg::InitChart()

m_ctrlChart.Series(0).Clear();
m_ctrlChart.GetPage().SetMaxPointsPerPage(1440);

COleDateTime CurTime = COleDateTime::GetCurrentTime();
COleDateTime tempTime ;
tempTime = CurTime;

CurTime.SetTime(0,0,0);
CurTime.SetDate(tempTime.GetYear(),tempTime.GetMonth(),tempTime.GetDay());
COleDateTimeSpan tmSpan = COleDateTimeSpan(0,0,1,0);
CString csTime ;
for(int i=0; i<80; i++)

csTime = CurTime.Format("%H:%M");

float fzVal = float(GetRandom(12000,28000)/100);
m_ctrlChart.Series(0).AddXY(i,fzVal,csTime,i);
CurTime += tmSpan;


m_ctrlChart.GetAxis().GetLeft().SetMinMax(100, 300);


希望对你有帮助。
参考技术A 建议去百度或GOOGLE搜索一下,看看有没有相关信息或资料可以帮你。本回答被提问者采纳

以上是关于【(VC/MFC)绘图控件TeeChart问题】如何设置X轴显示时间(vs2010)的主要内容,如果未能解决你的问题,请参考以下文章

TeeChart绘图控件 开发技术

QT 与MFC绘图技术比较

teechart安装后怎么使用

请问:在vc下面用TeeChart绘图,曲线显示不出来,这是啥原因

MFC中, teechart控件被tab控件覆盖

mfc里面有个Activex的控件,我安装了teechart画图控件,但是程序最终生运行电业也要安装teechart