求助MsChart的使用!急

simonchenxu 2003-08-25 02:45:28
我在dialog里面放了一个mschart,显示一个二维直方图

现在已经建立了2个column,10个row
每个column代表不同的性质变量
我现在需要左边的yaxis显示第一个column的刻度,右边的yaxis显示第二个column的刻度,应该怎么做?
Scale1 = m_Chart.GetPlot().GetAxis(1,var).GetValueScale();
Scale1.SetMaximum(max1);

Scale1 = m_Chart.GetPlot().GetAxis(2,var).GetValueScale();
Scale1.SetMaximum(max2);

这样似乎不行,由于两个column的数值不是一个数量级的,所以,虽然左右的刻度对的,但是,较小的那个数值似乎被缩小到看不见了。

现在就是问,在同一的row里面的不同的column能不能按照不同的尺寸显示?

谢谢了!
...全文
83 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
wudhu 2003-08-26
  • 打赏
  • 举报
回复
如果你仅仅只要显示的话,我认为你在column2赋值之前,做一下数据处理
如 新值=(max1/max2)*旧值 column2中的值这样转换到了column1中的坐标系。
simonchenxu 2003-08-26
  • 打赏
  • 举报
回复
我现在要做的是左边的yaxis显示column1的刻度,右边的yaxis2显示column2的刻度
现在的问题是,column1的数字一般都很小,比如10,20,但是column2的数字可能会很大,比如1e8等,但是,似乎在现实的时候,两个column是同比例的,也就是说,把column1的直方显示了正常的比例,也就是最大的顶格,但是column2的直方就被放得很大,所有的都是定格,估计是超过了显示范围。
我现在主要向让column2的直方也能变小一点,不知道该怎么做

Scale1 = m_Chart.GetPlot().GetAxis(1,var).GetValueScale();
Scale1.SetAuto(false);
Scale1.SetMinimum(0);
Scale1.SetMaximum(max1);//max1大约10多

Scale2 = m_Chart.GetPlot().GetAxis(2,var).GetValueScale();
Scale2.SetAuto(false);
Scale2.SetMinimum(0);
Scale2.SetMaximum(max1);//max2大约1e8
wudhu 2003-08-25
  • 打赏
  • 举报
回复
设置最大值时先要Scale1.SetAuto(FALSE);

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧