2012-02-29 1 views
1

Je souhaite utiliser grid.table() dans un tracé existant dans R. Cependant, je ne trouve pas cette table du côté droit de mon graphique. Donc, la chose est:Placer des tables de grille dans R

Tout d'abord, je fais un histogramme de mes données:

hist(as.numeric(unlist((vels[counts]))),freq=F, 
    col="gray",border="black",ylim=c(0,0.15), 
    xlab=paste(names(vels)[counts]), 
    main=paste("Weibull fitting",names(vels[counts]))) 

Après cela, je l'ai mis en place une fonction qui parcelles dans un graphique existant de la courbe Weibull donnant à la fois les paramètres A et K:

plot_weibull(K_value,A_value) 

et enfin, je veux placer un data.frame en utilisant la grid.table() car elle montre les cellules sous une forme très jolie, et vous pouvez utiliser du texte en italique et en gras dans les cellules.

grid.table(round(values,3),cex=0.75,show.rownames=T, 
    show.colnames=T,show.hlines=T) 

Le problème est que ce tableau apparaît au centre du dispositif en face de l'histogramme et la courbe, et je veux que ce soit sur le côté droit.

Après tout, je voudrais savoir un outil en cliquant sur le graphique, je recevrais la zone sous ma courbe de Weibull.

+0

Qu'entendez-vous par une table quadrillée? Vous devriez également fournir un code pour ce que vous avez déjà fait qui donne un exemple reproductible si possible. – Dason

+0

Il existe une fonction 'locator()' pour les graphiques de base et une fonction 'grid.locator()' pour les graphiques de grille. Il semble peu probable que vous utilisiez une fonction nommée 'grille-table', puisque les tirets ne sont pas valides dans les noms de fonctions. On ne sait pas non plus ce que vous entendez par "trame de Weibull". Incluez les noms et le code du package pour créer un exemple si vous souhaitez tester les réponses. –

+0

Excusez-moi de ne pas être assez clair. Je fais un histrogramme des vitesses du vent, et après avoir implémenté une fonction qui correspond à la courbe de Weibull à l'histogramme. Une fois que j'ai représenté l'histogramme et la courbe de Weibull, je veux tracer dans le même graphique une image utilisant la fonction grid.table() car elle est très agréable et peut mettre les valeurs de dataframe en italique ou en gras. Cette image est une table de deux colonnes, et la fonction la représente au milieu du grapgh et je veux que ce soit dans le bon côté. – JPV

Répondre

4

La fonction hist est une base graphique et la fonction grid.table est une grille graphique. Les 2 systèmes graphiques ne jouent pas bien ensemble sans effort supplémentaire (comme vous l'avez remarqué).

La solution la plus simple consiste à utiliser la fonction addtable2plot du package plotrix plutôt que grid.table. Il se peut que ce ne soit pas la même chose, mais ce serait simple.

Une autre option est d'utiliser une carte graphique grille fonction pour créer l'histogramme, comme quelque chose des lattice ou ggplot2 paquets (les deux peuvent faire histogrammes), puis créer une fenêtre spécifique en utilisant des fonctions graphiques de la grille et utiliser grid.table pour mettre la table dans cette fenêtre. Enfin, si vous voulez vraiment les mélanger, consultez le package gridBase pour savoir comment combiner les graphiques de grille et de base.

Questions connexes