Tracer des graphiques, je l'ai fait la main l'cole, comme tous je suppose. Aujourd'hui, l'ordinateur s'en charge bien mieux. Enfin, c'est ce qu'on pourrait penser, mais je trouve que ce n'est pas si bien que a en fait.
Je m'intresse ici l'volution de la population humaine de -10 000 AEC 2010 EC, bas sur les chiffres de la Wikipdia (Hyde 2007).
J'ai mis les donnes dans un fichier csv que vous pouvez rcuprer ici (si vous souhaitez essayer).
Bref, c'est pas super, alors j'essaie de changer un peu tout a (avec pas mal de recherche sur le net), et je me rend compte que double-cliquer dans le graph n'est pas anodin, puisque si c'est sur un axe, alors on accde aux proprits de celui-ci, pareil pour l'arrire plan, la grille, etc. C'est pas franchement intuitif (puisque toutes les fentres se ressemblent). J'arrive finalement ce rsultat :
Ici, pour crer un graphique, il faut ncessairement cliquer sur une petite icne, qui ne semble pas marcher premire vue, mais en fait si, mais il faut cliquer dans le tableur une nouvelle fois pour voir apparatre une fentre. Celle-ci indique ce que l'on vient de slectionner (mme si ce n'est pas en sur-brillance), je slectionne First row as label, et OK.
Une fentre prsentant les proprits de chaque lment du graphique se prsente, et c'est assez diffrent de ce que fait Libreoffice et Calligra. Je ne change rien, et je clique Insert. Rien ne semble se passer, mais en fait, il faut slectionner une zone pour y indiquer la taille du graphique. Voici le rsultat brut :
Calligra Sheets est le moins intuitif mon got, et tends marcher moins bien (et planter un peu parfois). Les options sont rangs vraiment bizarrement, et les retours utilisateurs sont de mauvaise qualit.
LibreOffice Calc fait mieux, mais devoir cliquer sur un lment du graphique pour en changer les proprits, c'est pas une bonne ide (cliquer sur des lignes c'est assez navrant). Certaines options semblent avoir un effet inconnu. Par contre, avoir LO, c'est tous les modules ou rien du tout (enfin, sauf sur Debian, mais ce n'est mme pas support en amont).
Gnumeric a t une bonne surprise pour moi. L'interface est beaucoup plus cohrente, et une fois habitu celle-ci, c'est beaucoup plus logique que les deux prcdents. Les grilles sur le graphique ne sont pas super, et c'est un peu dommage. Mais il faut le boulot, et plutt correctement.
Python/Pandas n'est pas forcment comparable, puisque ce n'est pas une machine clics, mais dans ce cas-l, c'est vraiment simple. Ce n'est peut-tre pas pour tout le monde, mais a fait des graphiques bien plus utiles.
Sans trop essayer de le rendre beau, voici ce que a donne dans R (je suis loin d'tre un spcialiste de R, j'ai deux faire deux tutos ou un truc comme a ;-) par contre j'ai vu de jolies images faites par d'autres) :
Un utilisateur plus expriment de R utiliserait presque certainement le package ggplot2 plutt que les mcanismes par dfaut, qui sont un peu dats. Au niveau UI, a s'utilise peu prs comme pandas, qui en est fortement inspir je crois.
Mouais, je n'ai jamais t convaincu par ggplot2, et encore moins par lattice. L'utilisation d'aplats de gris et l'"innovation" graphique font peut-tre un peu plus moderne, mais je trouve qu'on y perd normment en simplicit.
Il faut peut-tre que tu insistes un peu ? Je suis pass par cette phase aussi, mais autant au niveau de l'expressivit que du rendu, je trouve maintenant que c'est mille fois mieux que le systme traditionnel.
Je ne suis pas fan des aplats gris, mais une fois pass un autre thme, ggplot2 permet vraiment de faire de beaux graphes assez rapidement ( condition de bien prparer ses donnes).
Il y a de bons exemples ici
Le systme traditionnel : on dessine (ou ajoute des lments) sur le graphique courant, il est impossible de modifier quoi que ce soit d'un lment dj dessin. C'est le plus connu car venant nativement avec R ds les premires versions ; nous le devons principalement Ross IHAKA.
Le systme grid : un modle informel reprsente les objets graphiques indpendamment du rendu ; on peut donc mettre jour ces objets. Les systmes de coordonnes sont lis des viewports et non pas la zone de dessin elle-mme, ce qui permet de concevoir des graphiques sophistiqus. Ce systme a vu le jour avec la thse de doctorat de Paul MURRELL ; son principal dfaut est le manque de primitives natives pour les graphiques statistiques.
Je suis pass plusieurs fois ct sans la voir et j'ai failli tre dcourag de poster mon commentaire. Je pense qu'il faudrait mettre ce point en vidence (en gras ou en dbut de section) ou dans une section part (par exemple tlversement d'image).
Du coup, c'est vrai que la partie ggplot me semble trs intressante. Aprs, LA fonctionnalit de Gnuplot essentielle pour moi, c'est la capacit de sortie en PDF + LaTeX, parce que a permet d'avoir un rendu quasi-parfait dans un document scientifique. Notamment, on peut bidouiller un peu le truc (convertir le pdf en png pour les plots colors en 3D, par exemple, mme si idalement je prfrerais n'avoir que la partie colore en bitmap et le reste en vectoriel). Le problme c'est qu'il faut aussi se taper des heures de pinaillages sur la mise en page pour arriver un truc qui bavasse pas dans tous les coins (mettre 3 plots cte cte peut-tre assez proche de la pnitence).
Est-ce que tu as essay le driver Tikz pour R, qui a l'air de faire un peu le mme travail ? Parce que bnficier d'un truc plus expressif que Gnuplot tout en gardant un rendu final aussi bon, a serait un vritable rve !
Le mainteneur du binding de Tikz en R est Yihui Xie ; il a crit d'autres bibliothques spcialises dans le traitement de LaTeX, Markdown, HTML et compagnies : voir sa page sur GitHub. En particulier, knitr est un authentique couteau suisse.
Merci pour l'exemple ! Je jetterai un œil la prochaine fois que j'aurai sortir un graphe.
Et knitr/Sweave, a a l'air assez puissant aussi pour tester le bouzin.
Reste en fait voir s'il est possible d'avoir des courbes en 3D assez rsolues sans que :
1. a chie avec l'antialiasing du lecteur PDF
2. a soit lourd mourir
C'est notamment pour ces deux raisons que le backend idal de mes rves permettrait de rasteriser uniquement le bout color plein de polygones (dont il est assez peu utile d'avoir une version vectorielle).
En gros, j'ai un fichier texte qui contient mes donnes (typiquement du csv o sur chaque ligne tu as les coordonnes x et y, et la valeur en z). Pour que a soit joli, je dirais que c'est assez souvent du 50x50 ou du 100x100, ventuellement avec un peu d'interpolation si a suffit pas (l, faut imaginer que le truc c'est du 7cm de large).
Le vrai problme c'est que selon le moteur de rendu utilis par le lecteur PDF, a devient archi-moche si tu gardes tout en vectoriel. Principalement, t'as des lignes blanches qui apparaissent alatoirement aux jointures entre les diffrents patches, qui viennent de l'antialiasing visiblement.
Ce qui sauve l'affaire, c'est que je peux convertir en bitmap, sans antialiasing, la partie graphe (celle qui contient les donnes, la colorbar, les axes et les contours). En fait, c'est mme plus logique de faire comme a, vu que les donnes sont essentiellement du bitmap (mais c'est pas parfait, parce que c'est videmment pas le cas des axes et des contours).
On dirait qu'il y a un petit souci avec la partie basse de l'image, moins que le "dcoupage" ait t intentionnel.
J'ai une vague ide de ton pipeline mais l'idal serait d'avoir un code qui part de la lecture d'un de tes CSVs jusqu' la cration d'une image ; comme cela, j'essaierai de reproduire le traitement en R. Ou alors, un lien vers quelque chose de semblable sera aussi suffisant.
Pas physicien nuclaire. Dans l'incapacit de gnrer des donnes de test aprs avoir regard les diverses quantits et relations de la Physique, je me suis fait des donnes bidons, histoire d'illustrer ggplot2. On y va :
Pas graphiste. Concernant la rasterisation, je me contente de citer quelques bibliothques en R qui pourraient t'intresser mme si le langage n'est pas vraiment l'outil adquat pour faire du Traitement d'Image avanc. Les bibliothques alors : raster, rasterVis, adehabitatMA, Cairo, readbitmap
Sans transition, d'abord, la fonction image (bibliothque base) peut aider obtenir des rsultats semblables ceux de Gnuplot. Ensuite, pour des rsultats amliors, on peut voir du ct de la fonction image.plot (bibliothque fields) ; dans les deux cas, la bibliothque akima peut accomplir l'interpolation. Puis, si on veut ajouter de la perspective la visualisation, la bibliothque misc3d pourra aider. Enfin, mon avis, ggplot2 est inadquat pour ce genre de traitement. Foin de verbiage, place au code.
Wow, merci ! T'as d y passer un certain temps !
C'est assez joli ce qu'on peut faire. J'espre avoir le temps d'essayer a d'ici la semaine prochaine. Je te dirai mes trouvailles, notamment si a me convient !
Pas besoin de cliquer sur un lment pour le modifier, une fois le graphique en mode dition il y une barre d'outils avec une liste droulante des lments modifiables. Il suffit de choisir puis cliquer sur le bouton juste cot pour modifier l'objet slectionn.
Dans le mme style, oumph bosse sur une comparaison des grapheurs javascript, pour un choisir un pour les statistiques de LinuxFr.org. La dpche est en cours de rdaction. L aussi, on peut voir qu'il y a beaucoup de solutions, mais rien d'idal : a dpend des besoins et du temps que l'on prt y consacrer.
Dans ce journal, je voulais aussi que les gens voient que l'ergonomie de ces logiciels pour faire des graphiques est vraiment moyenne : c'est se demander si les tableurs ne servent pas faire des graphiques du tout.
Maintenant un tableur, c'est comme n'importe quel outil plus ou moins gnraliste : a permet de faire des trucs qui resssemblent quelque chose relativement vite lorsque le besoin est assez simple, mais a ne permet pas d'tre vraiment efficace pour des choses un peu plus sophistiques, ou si on veut un graphisme un peu meilleur (on peut faire la mme comparaison avec LaTeX et Libreoffice ou Word par exemple).
d3342ee215