diagrammes svg utilisant python
Question
Je recherche une bibliothèque pour générer des diagrammes svg en python (je récupère les données d’une base de données SQL). J'ai trouvé python-gd , mais il ne dispose pas de beaucoup de documentation et la dernière mise à jour date de 2005 Je me demande s’il existe d’autres bibliothèques qui conviennent à cet usage.
Je pense principalement à de simples graphiques linéaires, comme ceci :
La solution
Si vous recherchez des graphismes linéaires simples, probablement, CairoPlot répondra à vos besoins car il peut générer des fichiers de sortie svg prêts à l'emploi. Jetez un coup d’oeil à this .
Cet exemple d'image ne montre que quelques-unes de ses fonctionnalités. En utilisant la version de coffre disponible sur tableau de bord , vous pourrez ajouter une zone de légende et des titres d'axe.
De plus, en utilisant la version trunk, il est possible de générer:
- les graphiques DotLine (ceux dont je crois que vous avez besoin)
- Tableaux à dispersion
- Diagrammes à secteurs / à beignets
- Graphiques à barres horizontales / verticales
- Diagrammes de Gantt
Autres conseils
Essayez d’utiliser matplotlib . Vous pouvez le configurer avec un backend en SVG.
PyChart "est une bibliothèque Python permettant de créer des fichiers PostScript, PDF encapsulés de haute qualité, PNG ou graphiques SVG . "
"pyCairo est une option qui mérite d'être examinée.
Voici une bibliothèque SVG à usage général en Python: pySVG .
Pensez à svgwrite http://packages.python.org/svgwrite/
svgfig vaut le coup d'oeil:
N'étant pas vraiment apparenté aux parcelles SVG, mais recherchant la même chose, j'ai trouvé une bonne source d'informations utiles soigneusement collectées pour répondre à votre question: http://wiki.python.org/moin/NumericAndScientific/Plotting
J'ai essayé de rassembler une liste des bibliothèques de graphiques disponibles (c’est un travail en cours, dans lequel je tiens à jour régulièrement la liste): http://blizzardzblogs.blogspot.com/2010/12/data-visualization-charts-and.html
Je pense que protovis ferait le travail pour vous. Son
- poids léger,
- génère svg (qui peut être facilement exporté) et
- est javascript
Donc, rien à apprendre:
Mise à jour 2018:
Plotly ( https://github.com/plotly/plotly.py / < un href = "https://plot.ly/d3-js-for-python-and-pandas-charts/" rel = "nofollow noreferrer"> https://plot.ly/d3-js-for-python- and-pandas-charts / ) est probablement la solution la plus polyvalente. Il est distribué sous licence MIT (libre d'utilisation et de réutilisation), bien qu'il inclue des fonctionnalités incompatibles avec certains CMS présentant des problèmes de sécurité plus restrictifs puisqu'il repose sur JS, bien que des options permettant d'exporter les diagrammes au format SVG brut soient également disponibles.
Pygal ( https://github.com/Kozea/pygal / http://pygal.org ) est plus simple et ne repose que sur la norme svg. En tant que tels, les résultats sont plus réutilisables dans des systèmes CMS plus restreints. Il est distribué sous licence GNU.