Passer au contenu du pied de page
AIDE PYTHON

HoloViews Python (Comment ça marche pour les développeurs)

HoloViews est une bibliothèque Python flexible qui rend la visualisation des données simple et intuitive. Grâce à une intégration étroite avec la pile de calcul scientifique, elle aide les utilisateurs à créer des visualisations interactives avec un code minimal en utilisant divers backends tels que Matplotlib, Bokeh ou Plotly. Les développeurs ont conçu HoloViews pour éliminer la création de graphiques manuels, facilitant ainsi la création de visualisations interactives et hautement personnalisables qui s'intègrent parfaitement aux flux de travail d'analyse de données.

IronPDF est une bibliothèque Python utilisée pour créer, éditer et manipuler des documents PDF. Il permet des conversions HTML en PDF, des modifications de contenu, des mises en œuvre de sécurité, et l'ajout d'annotations et de formulaires. L'intégration de HoloViews avec IronPDF permet aux utilisateurs d'inclure des graphiques de données pertinents et interactifs dans des rapports PDF professionnels générés à l'aide de IronPDF.

Cette intégration profite particulièrement aux analystes de données, scientifiques, professionnels d'affaires, et personnes ayant besoin de communiquer efficacement et clairement les résultats de leurs analyses.

Qu'est-ce que HoloViews ?

Le module Python, HoloViews, a été développé avec pour objectifs primordiaux la facilité et l'élégance dans la visualisation des données. Il utilise une syntaxe déclarative et de haut niveau, permettant aux utilisateurs de se concentrer sur ce qu'ils veulent visualiser plutôt que sur sa mise en œuvre. HoloViews est adaptable à tout type et structure de données et s'intègre facilement à la pile de calcul scientifique et à d'autres bibliothèques comme Pandas, Dask ou XArray.

HoloViews Python (Comment cela fonctionne pour les développeurs): Figure 1 - Page web du module HoloViews

HoloViews prend en charge plusieurs backends de création de graphiques, comme Matplotlib, Bokeh et Plotly, permettant des transitions faciles entre différentes bibliothèques de visualisation. Il est particulièrement avantageux dans les analyses exploratoires de données lors de la création de graphiques interactifs pour l'annotation de données.

HoloViews permet d'abstraire les défis complexes de la visualisation de données, permettant aux utilisateurs de transformer de grands ensembles de données en images magnifiques et significatives avec un minimum de codage. Par conséquent, il est devenu un outil indispensable pour les scientifiques des données et les analystes.

Fonctionnalités de HoloViews

  1. Syntaxe déclarative : HoloViews utilise une syntaxe déclarative de haut niveau qui permet aux utilisateurs de spécifier exactement ce qu'ils veulent voir, simplifiant la création de visualisations complexes.

  2. Intégration native : Il prend en charge nativement une large gamme de types et structures de données, s'intégrant sans heurt avec les bibliothèques au sein de la pile de calcul scientifique, telles que Pandas, Dask et XArray.

  3. Prise en charge des bibliothèques externes : Prend en charge une gamme de bibliothèques, y compris Matplotlib, Bokeh et Plotly, permettant aux utilisateurs de basculer sans effort entre plusieurs bibliothèques de visualisation.

  4. Interactivité : Fournit des graphiques interactifs pour la visualisation dynamique, permettant aux utilisateurs d'explorer et d'interpréter les données de manière interactive.

  5. Extensibilité : Offre un riche ensemble d'options pour personnaliser les visualisations et prend en charge plusieurs backends, permettant aux utilisateurs d'étendre et d'affiner leurs visualisations selon les besoins.

  6. Facilité d'utilisation : L'API de haut niveau de HoloViews réduit le code requis pour créer des visualisations de grands ensembles de données, permettant aux utilisateurs de se concentrer davantage sur l'analyse des données plutôt que sur les subtilités de la création de graphiques.

  7. Composabilité : Les utilisateurs peuvent facilement combiner des composants simples en visualisations sophistiquées, grâce à la fonctionnalité de composabilité qui se concentre sur la simplification et la facilité de la visualisation.

  8. Flux de données : Simplifie la création de workflows complexes pour le traitement et la présentation des données.

  9. Écosystème riche : Faisant partie de l'écosystème HoloViz, HoloViews offre une suite d'outils pour la visualisation de données et le développement d'applications, et fonctionne bien avec d'autres outils robustes de l'écosystème, tels que Panel et Datashader.

Créer et Configurer HoloViews

Installer HoloViews et ses Dépendances

Tout d'abord, téléchargez et installez HoloViews et toutes ses dépendances avec les commandes pip suivantes :

pip install holoviews
pip install bokeh
pip install holoviews
pip install bokeh
SHELL

Utiliser HoloViews pour Générer des Graphiques

# Import required libraries
import holoviews as hv
from holoviews import opts
import numpy as np

# Initialize HoloViews with Bokeh backend
hv.extension('bokeh')

# Generate data
x = np.linspace(0, 10, 100)
y = np.sin(x)

# Create HoloViews elements with annotated data
line_plot = hv.Curve((x, y), label='Sine Wave').opts(
    title="Line Plot", xlabel="X-axis", ylabel="Y-axis", color='blue'
)

scatter_plot = hv.Scatter((x, y), label='Scatter Plot').opts(
    size=10, color='red', title="Scatter Plot", xlabel="X-axis", ylabel="Y-axis"
)

hist = hv.Histogram(np.histogram(y, bins=20)).opts(
    title="Histogram", xlabel="Value", ylabel="Frequency", color='green'
)

# Combine the HoloViews plots into a layout
layout = (line_plot + scatter_plot + hist).cols(1)

layout.opts(
    opts.Curve(width=400, height=400),
    opts.Scatter(width=400, height=400),
    opts.Histogram(width=400, height=400)
)

# Display layout
layout

# Save visualization layout to an HTML file
hv.save(layout, 'visualization.html', fmt='html')
# Import required libraries
import holoviews as hv
from holoviews import opts
import numpy as np

# Initialize HoloViews with Bokeh backend
hv.extension('bokeh')

# Generate data
x = np.linspace(0, 10, 100)
y = np.sin(x)

# Create HoloViews elements with annotated data
line_plot = hv.Curve((x, y), label='Sine Wave').opts(
    title="Line Plot", xlabel="X-axis", ylabel="Y-axis", color='blue'
)

scatter_plot = hv.Scatter((x, y), label='Scatter Plot').opts(
    size=10, color='red', title="Scatter Plot", xlabel="X-axis", ylabel="Y-axis"
)

hist = hv.Histogram(np.histogram(y, bins=20)).opts(
    title="Histogram", xlabel="Value", ylabel="Frequency", color='green'
)

# Combine the HoloViews plots into a layout
layout = (line_plot + scatter_plot + hist).cols(1)

layout.opts(
    opts.Curve(width=400, height=400),
    opts.Scatter(width=400, height=400),
    opts.Histogram(width=400, height=400)
)

# Display layout
layout

# Save visualization layout to an HTML file
hv.save(layout, 'visualization.html', fmt='html')
PYTHON

L'extrait de code ci-dessus génère et personnalise différents éléments graphiques de visualisations de données dans HoloViews et les compose en une seule mise en page. Nous commençons par importer des bibliothèques, initialiser HoloViews pour utiliser le backend Bokeh pour des graphiques interactifs, et générer des données en utilisant NumPy. L'ensemble de données se compose d'un tableau de valeurs x et de leurs valeurs sinusoïdales correspondantes y.

Le script produit trois types de graphiques : un graphique en ligne d'une onde sinusoïdale, un graphique de dispersion avec les points de données, et un histogramme de la distribution des valeurs sinusoïdales. Tous les graphiques sont personnalisés avec des titres, des étiquettes d'axes et des couleurs en utilisant la méthode opts.

HoloViews Python (Comment cela fonctionne pour les développeurs): Figure 2 - Visualisations sorties: Graphiques en ligne et en dispersion

HoloViews Python (Comment cela fonctionne pour les développeurs): Figure 3 - Visualisations sorties: Histogramme

La disposition empile les graphiques dans une seule colonne. Après avoir affiché les visualisations, la disposition est sauvegardée à l'aide de hv.save sous le nom 'visualization.html', démontrant à quel point il est facile de créer et de sauvegarder des visualisations interactives avec HoloViews.

Combinaison de HoloViews et IronPDF

Vous allez maintenant apprendre à utiliser HoloViews pour la visualisation de données et IronPDF pour créer des documents PDF contenant ces visualisations. Un ensemble d'instructions vous guidera dans l'installation de ces bibliothèques, la création de visualisations et la génération de PDFs à partir de ces visualisations en utilisant HoloViews et IronPDF.

Qu'est-ce qu'IronPDF ?

HoloViews Python (Comment cela fonctionne pour les développeurs): Figure 4 - Page web IronPDF

En utilisant le module Python IronPDF, il est possible d'accomplir des tâches programmatiques avancées au sein d'un document PDF. C'est un outil robuste et complet pour créer, éditer et lire des PDFs. Il maintient l'utilisabilité des documents PDF créés et modifiés préalablement fabriqués.

IronPDF aide à atteindre une meilleure compatibilité et à créer des rapports PDF attrayants, profitant aux applications nécessitant de créer et de mettre à jour dynamiquement des PDFs. Il inclut une documentation complète avec de nombreux exemples pour aider les utilisateurs.

Conversion HTML en PDF

En utilisant la documentation IronPDF, toute donnée HTML peut être transformée en document PDF rapidement. Les utilisateurs peuvent utiliser la plupart des éléments HTML5, CSS3 et JavaScript les plus récents pour créer des publications PDF créatives directement à partir du contenu web.

Générer et Éditer des PDFs

Avec les capacités de programmation, vous pouvez créer de nouveaux documents PDF contenant du texte, des graphiques et des tableaux, entre autres fonctionnalités. IronPDF permet d'ouvrir et d'éditer des documents pré-préparés, donnant le pouvoir aux utilisateurs d'ajouter, changer ou supprimer du contenu PDF de manière programmatique.

Conception et Style Complexes

Des mises en page complexes avec plusieurs polices, couleurs et éléments de design sont possibles grâce aux styles implicites des PDFs. Le contenu dynamique à l'intérieur d'un PDF, sujet à changement, est mieux rendu dans le format HTML par défaut au lieu de JavaScript pour plus de simplicité.

Installer IronPDF

Vous pouvez installer la bibliothèque IronPDF via pip à l'aide de la commande suivante :

pip install ironpdf
pip install ironpdf
SHELL

Générer des Graphiques dans des PDFs avec HoloViews

Voici un exemple d'utilisation de HoloViews pour construire des visualisations simples :

# Import required libraries
import holoviews as hv
from holoviews import opts
import numpy as np
from ironpdf import ChromePdfRenderer
import warnings

# Suppress warnings
warnings.filterwarnings('ignore')

# Set IronPDF license key (replace with your actual key)
# License.LicenseKey = "your_license_key_here"

# Initialize HoloViews with Bokeh backend
hv.extension('bokeh')

# Generate data
x = np.linspace(0, 10, 100)
y = np.sin(x)

# Create HoloViews elements with annotated data
line_plot = hv.Curve((x, y), label='Sine Wave').opts(
    title="Line Plot", xlabel="X-axis", ylabel="Y-axis", color='blue'
)

scatter_plot = hv.Scatter((x, y), label='Scatter Plot').opts(
    size=10, color='red', title="Scatter Plot", xlabel="X-axis", ylabel="Y-axis"
)

# Combine plots into a layout
layout = (line_plot + scatter_plot).cols(1)

layout.opts(
    opts.Curve(width=400, height=400),
    opts.Scatter(width=400, height=400)
)

# Save visualization layout to an HTML file
hv.save(layout, 'visualization.html', fmt='html')

# Convert the HTML file to PDF using IronPDF
pdf_file_path = 'document.pdf'
html_to_pdf = ChromePdfRenderer()
pdf_document = html_to_pdf.RenderHtmlFileAsPdf('visualization.html')

# Save the PDF
pdf_document.SaveAs(pdf_file_path)
# Import required libraries
import holoviews as hv
from holoviews import opts
import numpy as np
from ironpdf import ChromePdfRenderer
import warnings

# Suppress warnings
warnings.filterwarnings('ignore')

# Set IronPDF license key (replace with your actual key)
# License.LicenseKey = "your_license_key_here"

# Initialize HoloViews with Bokeh backend
hv.extension('bokeh')

# Generate data
x = np.linspace(0, 10, 100)
y = np.sin(x)

# Create HoloViews elements with annotated data
line_plot = hv.Curve((x, y), label='Sine Wave').opts(
    title="Line Plot", xlabel="X-axis", ylabel="Y-axis", color='blue'
)

scatter_plot = hv.Scatter((x, y), label='Scatter Plot').opts(
    size=10, color='red', title="Scatter Plot", xlabel="X-axis", ylabel="Y-axis"
)

# Combine plots into a layout
layout = (line_plot + scatter_plot).cols(1)

layout.opts(
    opts.Curve(width=400, height=400),
    opts.Scatter(width=400, height=400)
)

# Save visualization layout to an HTML file
hv.save(layout, 'visualization.html', fmt='html')

# Convert the HTML file to PDF using IronPDF
pdf_file_path = 'document.pdf'
html_to_pdf = ChromePdfRenderer()
pdf_document = html_to_pdf.RenderHtmlFileAsPdf('visualization.html')

# Save the PDF
pdf_document.SaveAs(pdf_file_path)
PYTHON

Le code ci-dessus montre comment intégrer IronPDF avec HoloViews pour créer des visualisations et les convertir en documents PDF. Au départ, il supprime les avertissements et importe les modules requis. Le code configure la clé de licence IronPDF, initialise HoloViews avec un backend Bokeh pour créer des visualisations interactives et génère des données en utilisant NumPy.

Le script crée un graphique en ligne et un graphique de dispersion avec des options de couleur, d'étiquettes d'axes, etc., les combinant dans une mise en page à une seule colonne (.cols(1)). Il sauvegarde le fichier HTML sous le nom 'visualization.html' en utilisant hv.save(). Ensuite, IronPDF convertit le 'visualization.html' en document PDF avec ChromePdfRenderer().RenderHtmlFileAsPdf() et le sauvegarde sous le nom 'document.pdf' avec pdf_document.SaveAs(). Cela démontre la synergie entre HoloViews et IronPDF pour transformer des visualisations interactives en rapports PDF professionnels.

HoloViews Python (Comment cela fonctionne pour les développeurs): Figure 5 - Visualisations sorties

Conclusion

En résumé, HoloViews couplé à IronPDF offre une solution robuste pour générer et distribuer des visualisations basées sur les données sous forme de documents PDF. Avec une interface fluide avec les outils de création de graphiques comme Bokeh et Matplotlib, HoloViews simplifie la création de graphiques interactifs et personnalisés. Ainsi, toutes les tâches d'analyse des données peuvent être facilement traduites en rapports visuels informatifs. IronPDF complète ces capacités en transformant les visualisations en documents PDF de haute qualité.

Ensemble, ils permettent aux utilisateurs de visualiser les données efficacement et de partager ou présenter les résultats dans un format compréhensible. En facilitant le parcours de la visualisation de données à l'action, HoloViews et IronPDF augmentent la productivité et la communication à travers divers scénarios, tels que la recherche académique, les présentations d'affaires, la narration basée sur les données, et la visualisation interactive.

IronPDF peut être combiné avec d'autres Iron Software, prouvant sa valeur en quelques jours, rendant la redevance $799 un investissement précieux.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite