3,245
社区成员
发帖
与我相关
我的任务
分享
m_chart.SetColumnCount(2);
m_chart.GetPlot().GetSeriesCollection().GetItem(1).GetSeriesMarker().SetShow(TRUE);
//m_chart.GetPlot().GetSeriesCollection().GetItem(2).GetSeriesMarker().SetShow(TRUE);
m_chart.GetPlot().GetSeriesCollection().GetItem(1).GetPen().SetStyle(0); //0不连接,1连接
//m_chart.GetPlot().GetSeriesCollection().GetItem(2).GetPen().SetStyle(0);
m_chart.GetPlot().GetSeriesCollection().GetItem(1).GetPen().GetVtColor().Set(255, 0, 0);
m_chart.GetPlot().GetSeriesCollection().GetItem(1).GetPen().SetWidth(1);
//赋值数据
int nRowCount = 5;
m_chart.SetRowCount(nRowCount);
m_chart.GetPlot().GetSeriesCollection().GetItem(1).GetDataPoints().GetItem(-1).GetMarker().SetStyle(1);
srand( (unsigned)time( NULL ) );
for(int row = 1; row <= nRowCount; ++row)
{
m_chart.SetRow(row);
m_chart.GetDataGrid().SetData(row, 1, row*2, 0);
//m_chart.GetDataGrid().SetData(row, 2, rand() * 100 / RAND_MAX, 0);
}
m_chart.GetPlot().GetSeriesCollection().GetItem(1).GetDataPoints().GetItem(-1).GetMarker().SetSize(120);
m_chart.GetPlot().GetSeriesCollection().GetItem(1).GetDataPoints().GetItem(-1).GetMarker().SetStyle(14); //4是圆圈,1十字,0,横杠,2是叉,3是星,5是方块,6菱形
//7三角,8倒三角,9实心点,10实心方块,11实心菱形,12实心三角,13,实心倒三角,14泛光的点
void CpointDlg::UpdateChart()
{
VARIANT vt;
SAFEARRAY* pSA;
SAFEARRAYBOUND sab[2]; //2维
sab[0].lLbound = sab[1].lLbound = 0;
sab[0].cElements = 5; //点的数量
sab[1].cElements = 2; //0 x坐标,1 y坐标
pSA = SafeArrayCreate( VT_R4, 2, sab);
HRESULT hr;
long saIdx[2]; //saIdx[0]表示第几个,saIdx[1]表示是这个点的Y赋值还是X
for(int i = 0; i<5; i++) {
saIdx[0] = i;
float fout;
saIdx[1] = 0;
fout = float(i+ 2)*0.2; //第i个点的X赋值
hr = SafeArrayPutElement( pSA, saIdx, &fout);
saIdx[1] = 1;
fout = i*0.1 +0.6f; //第i个点的Y赋值
hr = SafeArrayPutElement( pSA, saIdx, &fout);
ASSERT( SUCCEEDED(hr));
}
vt.vt = VT_ARRAY|VT_R4;
vt.parray = pSA;
m_chart.SetChartData( vt);
}