le 06-03-2015 10:53 AM
Bonjour,
j'ai un probleme au niveau de l'affichage de ma courbe; Dans mon application je dessine 4 courbe dans un Graph Panel
int plotH[4];
int xAxis[10]={0,1,2,3,4,5,6,7,8,9};
float yAxis[10]={10,10,13,10,40.3,85,66.2,70,100,99};
plotH[0]=PlotXY (panelHandle,panelControl ,xAxis,yAxis , 10, VAL_INTEGER, VAL_INTEGER, VAL_THIN_STEP, VAL_EMPTY_SQUARE, VAL_SOLID, 1, VAL_DK_GREEN);
SetPlotAttribute (panelHandle, panelControl,plotH[0] , ATTR_PLOT_THICKNESS, 2);
SetPlotAttribute (panelHandle, panelControl, plotH[0], ATTR_PLOT_YAXIS, VAL_LEFT_YAXIS);
plotH[1]=....
plotH[2]=....
plotH[3]=...
lors de l'execution je verifie tous les valeurs de plotH,panelHandle,panelControl,xAxis,yAxis et ils sont valides (plotH est un entier positif)
le 06-04-2015 03:32 AM
Bonjour,
Ton erreur vient simplement du type de donnée spécifié pour yAxis.
Dans la fonction PlotXY, tu le définies comme un tableau d'int alors que c'est un tableau de float.
Deux solutions:
- Changer le paramètre Y Data Type de la fonction PlotXY en floating point"
- Changer le type de donnée de yAxis en tableau de int
Dans les deux cas, on plot bien les données sur le graph.
Bonne journée,
Valentin
Certified LabVIEW Architect
Certified TestStand Architect
Certified LabWindowsCVI Developer
National Instruments France
le 06-08-2015 02:57 AM
Bonjour Valentin,
float yAxis[10]={10,10,13,10,40.3,85,66.2,70,100,99}; je l'ai changer en int mais le probleme persiste ; j'ai oublier de mentionner que ce code est developpé dans une fonction dessinerCourbe() et cette fonction est appellée dans un Thread comme suit :
static int CVICALLBACK ThreadFunction (void *functionData)
{
while (!gExiting)
{
dessinerCourbe() ;
}
return 0;
}
// au niveau de main
CmtScheduleThreadPoolFunction (DEFAULT_THREAD_POOL_HANDLE,ThreadFunction, NULL,&threadFunctionId);