J'ai un dataframe à trois variables, les deux premières sont des positions x, y en mètres la troisième est une concentration. Je peux en faire un dataframe à trois colonnes ou je peux le transformer en matrice avec la fonction cast.
Je veux représenter les concentrations dans l'espace métrique en échelle de couleur.
J’ai testé deux méthodes :
ggplot2 et les geom_contour et geom_raster avec mon dataframe :
Code : Tout sélectionner
> toto<-ggplot(data_gui, aes(x = x, y = y, z = z))+
+geom_raster(aes(fill = z)
> print(toto)
Me trace effectivement quelque chose, un histogramme…j’ai essayé d’ajouter des arguments mais je n’arrive pas à représenter ce jeu de donnée.
Avec la fonction geom_contour
Code : Tout sélectionner
> toto<-ggplot(data_gui, aes(x = x, y = y, z = z))+
+geom_contour(aes(z=z))
> print(toto)
J’obtiens cette erreur, qui suggère que j’ai des doublons mais ce n’st pas le cas
Warning message:
Computation failed in `stat_contour()`:
Contour requires single `z` at each combination of `x` and `y`.
J'ai fait des essais avec la fonction image suggéré dans ce précédent message
viewtopic.php?f=3&t=9403
Si je transforme le dataframe en matrice, la fonction image me donne des résultats intéressants mais avec comme abscisses et ordonnées un nombre de valeurs donc pas dans le repère métrique, les étiquettes des colonnes et lignes sont en mètre mais je n'arrive pas les utiliser comme repère (cela me permettrait aussi de rajouter d’autres éléments dans mon graphe avec des coordonnées métriques). J’ai également besoin d’inverser mon axe y mais je n’y arrive pas.
Code : Tout sélectionner
x <- (0.1:nrow(matdata_gui))
y <- (0.1:ncol(matdata_gui))
image(x, y, matdata_gui, col = terrain.colors(100),xlab="Distance(m)",ylab="Depth(m)")
contour(x, y, matdata_gui, levels = seq(0, 0.5, by = 0.01), add = TRUE, col = "peru")
box()
Si vous avez des suggestions ou des exemples de ce type avec ggplot2 ou image ou d'autres qui puissent m'aider sur cette représentation.
Merci d'avance
Cordialement
Guillaume