Forum de Statistiques
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le Deal du moment :
KTC Écran PC Gaming 24″ (1920 x 1080) ...
Voir le deal
67.39 €

interface graphique

Aller en bas

interface graphique Empty interface graphique

Message par maryo Ven 4 Avr 2008 - 8:06

bonjour,
je suis entrain de réaliser une interface graphique sous R
j'ai maintenant un petit programme qui permet de lire une base de données et jusqu'à cette étape tout marche bien, mais après j'ai essayer de créer un menu pour dessiner un histogramme et c'est ici ou j'ai de problème.
voilà la partie du programme concernée :

OnOK <- function()
{
varChoice <- variable[as.numeric(tkcurselection(tl))+1]

msg <- paste("variable choisi ",varChoice,sep="")
tkmessageBox(message=msg)
infxVal <- tclvalue(borninfx)

supxVal <- tclvalue(bornsupx)
infyVal <- tclvalue(borninfy)
supyVal <- tclvalue(bornsupy)

rbVal <- as.character(tclvalue(rbValue1))
tkdestroy(tt5)
if (rbVal=="effectif") typ<-1
if (rbVal=="frequence") typ<-0
if (typ=="1") freque<-TRUE;
if (typ=="0") freque<-FALSE;

require(tcltk)
library(tkrplot)
plotFunction <- function()
{
hist(don$varChoice,xlim=c(infxVal,supxVal),ylim=c(infyVal,supyVal),right=droit,freq=freque,label=lab,xlabel=varChoice,ylabel="",col=color,border==color2)
}
tt <- tktoplevel()
tkwm.title(tt,"Histogramme")
img <- tkrplot(tt,fun=plotFunction)
tkgrid(img)


j'explique brièvement qu'est ce que ça fait :
d'abord la création d'une fenêtre dans laquelle je choisi la variable, les couleurs et les bornes.puis après confirmation on m'affiche un message dans le quel est écrit le nom de la variable choisie determinée par varchoice mais le problème est que l'histogramme n'est pas dessiner et j'ai un msg d'erreur :
Error in hist.default(don$varChoice, xlim = c(infxVal, supxVal), ylim = c(infyVal, :
'x' doit être numérique

donc jai changer don$varchoice dans la commande hist par
don[,as.numeric(tkcurselection(tl))+1] et j'ai un autre message d'erreur
Error in structure(.External("dotTclObjv", objv, PACKAGE = "tcltk"), class = "tclObj") :
[tcl] invalid command name ".12.1".


je n'ai pas compris ce message.
j'ai tout essayé et je me suis bloquée!!
j'espère bien que vous puissiez m'aider à trouver la solution ! merci d'avance Wink




maryo

Nombre de messages : 13
Date d'inscription : 05/03/2008

Revenir en haut Aller en bas

interface graphique Empty Re: interface graphique

Message par Invité Ven 4 Avr 2008 - 11:59

Si tu gardes ta première méthode, au lieu de don$Varchoice tu peux faire don[,Varchoice]. Après c'est un peu dure de trouver l'erreur dans ton code mais vu le message qu'il te donne je pense qu'il ne trouve pas la colonne de x que tu veux tracer.

micros

Invité
Invité


Revenir en haut Aller en bas

interface graphique Empty Re: interface graphique

Message par maryo Dim 6 Avr 2008 - 13:25

le problème est résolu j'ai remplacé
varChoice <- variable[as.numeric(tkcurselection(tl))+1]
par
varChoice <- as.numeric(tkcurselection(tl))+1
mais j'ai un autre problème concernant les couleur choisies, j'ai ulilisé
require(tcltk)
tt <- tktoplevel()
tkwm.title(tt,"Color Selection")
color <- "blue"
canvas <- tkcanvas(tt,width="80",height="25",bg=color)
ChangeColor <- function()
{

color <- tclvalue(tcl("tk_chooseColor",initialcolor=color,title="Choose a color"))
if (nchar(color)>0)
tkconfigure(canvas,bg=color)
}
ChangeColor.button <- tkbutton(tt,text="Change Color",command=ChangeColor)
tkgrid(canvas,ChangeColor.button)
ça permet bien de changer la couleur dans le canvas mais j'ai pas su comment introduire la couleur choisie dans la commande hist car j'ai écrit col=color mais il met la couleur initiale qui est "blue"
merci encore pour votre aide précieuse.

maryo

Nombre de messages : 13
Date d'inscription : 05/03/2008

Revenir en haut Aller en bas

interface graphique Empty Re: interface graphique

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum