OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5140|回复: 4
打印 上一主题 下一主题

在一个graph控件中显示三个不同坐标尺度的曲线,曲线和尺度怎么对应起来?

[复制链接]

27

主题

101

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1007
金钱
1007
注册时间
2015-7-26
在线时间
108 小时
跳转到指定楼层
楼主
发表于 2016-3-19 18:27:00 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
10金钱
我在任务中       hData0=GRAPH_DATA_YT_Create(GUI_LIGHTBLUE,390,dBData,390);//GUI_DARKGREEN
        GRAPH_AttachData(WM_GetDialogItem(menu1Win,GUI_ID_GRAPH0),hData0);
       
        hData1=GRAPH_DATA_YT_Create(GUI_YELLOW,390,DegData,390);//GUI_DARKGREEN
        GRAPH_AttachData(WM_GetDialogItem(menu1Win,GUI_ID_GRAPH0),hData1);
       
        hData2=GRAPH_DATA_YT_Create(GUI_GREEN,390,AmpData,390);//GUI_DARKGREEN
        GRAPH_AttachData(WM_GetDialogItem(menu1Win,GUI_ID_GRAPH0),hData2);

生成三组数据
在graph中
        GRAPHWin=WM_GetDialogItem(hWin,GUI_ID_GRAPH0);
        GRAPH_SetGridVis(WM_GetDialogItem(hWin,GUI_ID_GRAPH0),1);//ÏÔê¾íø¸ñ
        GRAPH_SetGridDistX(WM_GetDialogItem(hWin,GUI_ID_GRAPH0),50);//oáÖáíø¸ñ¼ä¾à
        GRAPH_SetGridDistY(WM_GetDialogItem(hWin,GUI_ID_GRAPH0),50);//×YÖáíø¸ñ¼ä¾à
        GRAPH_SetBorder(WM_GetDialogItem(hWin,GUI_ID_GRAPH0),95,15,30,30);//¿Ø¼téÏÏÂ×óóò±ß¾à
        GRAPH_SetColor(WM_GetDialogItem(hWin,GUI_ID_GRAPH0),GUI_DARKGRAY,GRAPH_CI_BORDER);
        GRAPH_SetLineStyle(WM_GetDialogItem(hWin,GUI_ID_GRAPH0),GUI_LS_DOT);
       
        hScale3=GRAPH_SCALE_Create(25,GUI_TA_RIGHT,GRAPH_SCALE_CF_VERTICAL,50);
        GRAPH_AttachScale(WM_GetDialogItem(hWin,GUI_ID_GRAPH0),hScale3);
        GRAPH_SCALE_SetFactor(hScale3,4);
        GRAPH_SCALE_SetTextColor(hScale3,GUI_GREEN);
       
        hScale=GRAPH_SCALE_Create(55,GUI_TA_RIGHT,GRAPH_SCALE_CF_VERTICAL,50);
        GRAPH_AttachScale(WM_GetDialogItem(hWin,GUI_ID_GRAPH0),hScale);
        GRAPH_SCALE_SetFactor(hScale,0.2);
        GRAPH_SCALE_SetOff(hScale,250);
        GRAPH_SCALE_SetTextColor(hScale,GUI_LIGHTBLUE);
       
        hScale1=GRAPH_SCALE_Create(85,GUI_TA_RIGHT,GRAPH_SCALE_CF_VERTICAL,50);
        GRAPH_AttachScale(WM_GetDialogItem(hWin,GUI_ID_GRAPH0),hScale1);
        GRAPH_SCALE_SetFactor(hScale1,1);
        GRAPH_SCALE_SetOff(hScale1,150);
        GRAPH_SCALE_SetTextColor(hScale1,GUI_YELLOW);
       
        hScale2=GRAPH_SCALE_Create(330,GUI_TA_RIGHT,GRAPH_SCALE_CF_HORIZONTAL,50);
        GRAPH_AttachScale(WM_GetDialogItem(hWin,GUI_ID_GRAPH0),hScale2);
        GRAPH_SCALE_SetFactor(hScale2,0.02*DispScale);
        GRAPH_SCALE_SetTextColor(hScale2,GUI_GREEN);生成三个垂直坐标尺,和一个水平坐标尺

我想hData0,hData1,hData2分别用hScale3,hScale,hScale1的坐标尺度,可是显示的三条曲线都采用的液晶屏本身的坐标,没有和graph中的任何一个垂直坐标尺度相对应,这个应该怎么设置呢?
回复

使用道具 举报

27

主题

101

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1007
金钱
1007
注册时间
2015-7-26
在线时间
108 小时
2#
 楼主| 发表于 2016-3-19 20:32:16 | 显示全部楼层
刚才想到,难道说GUI中是要用刻度去迁就曲线而不是曲线迁就刻度吗?定了曲线再定刻度是吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


关闭

原子哥极力推荐上一条 /1 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-12-16 15:25

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表