嵌入式学习小组
直播中

张洁

7年用户 193经验值
私信 关注

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

我在任务中       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中的任何一个垂直坐标尺度相对应,这个应该怎么设置呢?

回帖(4)

董薇

2019-10-22 08:36:51
以示波器为例,graph中刻度和采集到的电压值没有任何关系,你在graph中显示电压值(也就是电压波形)是根据像素点来的,你随便的改变刻度,这个波形都不会变。如果想要刻度和实际的波形对应需要自己程序中做处理,比如我的刻度放大10倍,那么我采集到的电压值也要放大10倍,如果我的刻度上移或者下移(单位是像素点),那么我采集到的电压值也要加减一个数值。自己多试几次就知道了。graph这点确是有点扯淡,实际显示的波形是和像素直接相关的,并不是和刻度相关
举报

李青

2019-10-22 08:49:58
刚才想到,难道说GUI中是要用刻度去迁就曲线而不是曲线迁就刻度吗?定了曲线再定刻度是吗?
举报

张艳

2019-10-22 09:04:25
请问一下graph横坐标怎么缩放呢,现在只有100hz才能看出波形,信号频率稍微大一点就看不见了怎么解决呢?
举报

郝汉

2019-10-22 09:13:18
请问一下graph横坐标怎么缩放呢,现在只有100hz才能看出波形,信号频率稍微大一点就看不见了怎么解决呢?
举报

更多回帖

发帖
×
20
完善资料,
赚取积分