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 : exemple de graphique linéaire

Était-ce utile?

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 .

CairoPlot - DotLinePlot

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 .

Vous pouvez utiliser Graphviz pour générer des diagrammes au format SVG. Il existe des liaisons Python à Graphviz, par exemple, pydot - Interface python vers le langage Dot de Graphviz.

svgfig vaut le coup d'oeil:

http://code.google.com/p/svgfig/

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top