Hallo,

I'm dynamically generating buttons depending on the number of rows of my dataframe. Every button is supposed to call a function which generates a plot with the values of one of my dataframe rows.

My code looks like this:

base <- tktoplevel()

plotten <- function(mat, namen, titel) {
midpts <- barplot(height=mat, names.arg = namen, main = titel, las=2)
        text(midpts, 1, mat)
        mtext(text=paste("Treshold:", thresh), side=3, col="blue")
      }

 lb <- tklabel(base, text="Barplot:")
 tkgrid(lb, row=4, column=0)

 for(i in 1:(reihen-1)) {
        anzeige <- data.matrix(dataframe[i,-c(spalten)])
        namen <- names(anzeige)
tit <- paste(classi[i], "\nTotal Threshold for", classi[i], ":", dataframe[i, spalten])

but <- tkbutton(base, text = classi[i], command = function() {plotten(mat = anzeige, namen = namen, titel = tit)})
        tkgrid(but, row=4, column=i, sticky="e")
}

The buttons are all displayed correctly in my window, but after pressing one, it always generates a plot with the last parameters. So, if I've generated 3 buttons and choose button1, it generates a plot with the parameters of button3. The same plot after pressing button2 or button3.

How can I make sure, that each button calls the function with it's "own" parameters? So that button1 calls the function with the first row of my dataframe as the function parameter, button2 with the second row and so on?

Thanks in advance,

--
Anne Skoeries

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to