Ir para o conteúdo do rodapé
AJUDA DO PYTHON

HoloViews em Python (Como funciona para desenvolvedores)

HoloViews é uma biblioteca Python flexível que torna a visualização de dados simples e intuitiva. Através de uma integração estreita com a pilha de computação científica, ela ajuda os usuários a criar visualizações interativas com o mínimo de código, utilizando diversos backends como Matplotlib, Bokeh ou Plotly. Os desenvolvedores projetaram o HoloViews para eliminar a necessidade de plotagem manual, facilitando a criação de visualizações interativas e altamente personalizáveis ​​que se integram perfeitamente aos fluxos de trabalho de análise de dados.

IronPDF é uma biblioteca Python usada para criar, editar e manipular documentos PDF. Permite conversões de HTML para PDF, edições de conteúdo, implementações de segurança e a adição de anotações e formulários. A integração do HoloViews com o IronPDF permite aos usuários incorporar gráficos de dados interativos e informativos em relatórios PDF profissionais gerados com o IronPDF.

Essa integração beneficia particularmente analistas de dados, cientistas, profissionais de negócios e indivíduos que precisam comunicar suas descobertas de análise de forma eficaz e clara.

O que é HoloViews?

O módulo Python, HoloViews , foi desenvolvido com o objetivo principal de facilitar e tornar mais elegante a visualização de dados. Utiliza uma sintaxe declarativa de alto nível, permitindo que os usuários se concentrem no que desejam visualizar, em vez de como isso é implementado. O HoloViews é flexível com qualquer tipo e estrutura de dados e se integra facilmente com a pilha de computação científica e outras bibliotecas como Pandas, Dask ou XArray.

HoloViews Python (Como funciona para desenvolvedores): Figura 1 - Página web do módulo HoloViews

O HoloViews suporta diversos backends de gráficos, como Matplotlib, Bokeh e Plotly, permitindo transições fáceis entre diferentes bibliotecas de visualização. É particularmente vantajoso em análises exploratórias de dados ao criar gráficos interativos para anotação de dados.

O HoloViews abstrai os desafios complexos da visualização de dados, permitindo que os usuários transformem grandes conjuntos de dados em imagens bonitas e significativas com o mínimo de programação. Por isso, tornou-se uma ferramenta essencial para cientistas e analistas de dados.

Funcionalidades do HoloViews

  1. Sintaxe Declarativa: O HoloViews utiliza uma sintaxe declarativa de alto nível que permite aos usuários especificar exatamente o que desejam ver, simplificando a criação de visualizações complexas.

  2. Integração nativa: Oferece suporte nativo a uma ampla gama de tipos e estruturas de dados, integrando-se perfeitamente com bibliotecas da pilha de computação científica, como Pandas, Dask e XArray.

  3. Suporte a bibliotecas externas: Suporta uma variedade de bibliotecas, incluindo Matplotlib, Bokeh e Plotly, permitindo que os usuários alternem entre várias bibliotecas de visualização sem esforço.

  4. Interatividade: Oferece gráficos interativos para visualização dinâmica, permitindo que os usuários explorem e interpretem os dados de forma interativa.

  5. Extensibilidade: Oferece um conjunto abrangente de opções para personalizar visualizações e suporta múltiplos backends, permitindo que os usuários expandam e ajustem suas visualizações conforme necessário.

  6. Facilidade de uso: A API de alto nível do HoloViews reduz o código necessário para criar visualizações de grandes conjuntos de dados, permitindo que os usuários se concentrem mais na análise de dados do que nas complexidades da criação de gráficos.

  7. Composabilidade: Os usuários podem combinar facilmente componentes simples em visualizações sofisticadas, graças ao recurso de composabilidade que visa tornar a visualização simples e integrada.

  8. Pipelines de dados: Simplifica a criação de fluxos de trabalho complexos para processamento e apresentação de dados.

  9. Ecossistema robusto: Como parte do ecossistema HoloViz, o HoloViews oferece um conjunto de ferramentas para visualização de dados e desenvolvimento de aplicativos, e funciona bem com outras ferramentas robustas do ecossistema, como Panel e Datashader.

Criar e configurar HoloViews

Instale o HoloViews e suas dependências.

Primeiramente, baixe e instale o HoloViews e todas as suas dependências com os seguintes comandos pip:

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

Utilizando HoloViews para gerar gráficos

# 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

O trecho de código acima gera e personaliza diferentes elementos gráficos de visualizações de dados no HoloViews e os compõe em um único layout. Começamos importando bibliotecas, inicializando o HoloViews para usar o backend Bokeh para gráficos interativos e gerando dados usando o NumPy. O conjunto de dados consiste em uma matriz de valores x e seus respectivos valores de seno y.

O script gera três tipos de gráficos: um gráfico de linhas de uma onda senoidal, um gráfico de dispersão com os pontos de dados e um histograma da distribuição dos valores da senoide. Todos os gráficos são personalizados com títulos, rótulos de eixos e cores usando o método opts.

HoloViews Python (Como funciona para desenvolvedores): Figura 2 - Visualizações geradas: Gráficos de linha e dispersão

HoloViews Python (Como funciona para desenvolvedores): Figura 3 - Visualizações geradas: Histograma

O layout empilha os gráficos em uma única coluna. Após exibir as visualizações, o layout é salvo usando hv.save como 'visualization.html', demonstrando como é fácil criar e salvar visualizações interativas com o HoloViews.

Combinando HoloViews e IronPDF

Agora você aprenderá como usar o HoloViews para visualização de dados e o IronPDF para criar documentos PDF contendo essas visualizações. Um conjunto de instruções irá guiá-lo na instalação dessas bibliotecas, na criação de visualizações e na geração de PDFs a partir dessas visualizações usando HoloViews e IronPDF.

O que é o IronPDF?

HoloViews Python (Como funciona para desenvolvedores): Figura 4 - Página web do IronPDF

Utilizando o módulo IronPDF do Python, é possível realizar tarefas programáticas avançadas dentro de um documento PDF. É uma ferramenta robusta e completa para criar, editar e ler PDFs. Mantém a usabilidade de quaisquer documentos PDF criados e alterados anteriormente.

O IronPDF ajuda a alcançar maior compatibilidade e a criar relatórios em PDF mais atraentes, beneficiando aplicações que precisam criar e atualizar PDFs dinamicamente. Inclui documentação completa com inúmeros exemplos para auxiliar os usuários.

Conversão de HTML para PDF

Utilizando a documentação do IronPDF , quaisquer dados HTML podem ser transformados em um documento PDF rapidamente. Os usuários podem utilizar a maioria dos elementos mais recentes de HTML5, CSS3 e JavaScript para criar publicações em PDF criativas diretamente a partir de conteúdo da web.

Gerar e editar PDFs

Com os recursos de programação, você pode criar novos documentos PDF contendo texto, gráficos e tabelas, entre outras funcionalidades. O IronPDF permite abrir e editar documentos pré-preparados, possibilitando aos usuários adicionar, alterar ou remover conteúdo de PDFs de forma programática.

Design e estilo complexos

Graças aos estilos implícitos dos PDFs, é possível criar layouts complexos com múltiplas fontes, cores e elementos de design. Conteúdo dinâmico em um PDF, sujeito a alterações, é melhor renderizado no formato HTML padrão em vez de JavaScript, por questões de simplicidade.

Instale o IronPDF

Você pode instalar a biblioteca IronPDF via pip usando o seguinte comando:

pip install ironpdf
pip install ironpdf
SHELL

Gere gráficos em PDFs com o HoloViews

Aqui está um exemplo de como usar o HoloViews para criar visualizações 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

O código acima mostra como integrar o IronPDF com o HoloViews para criar visualizações e convertê-las em documentos PDF. Inicialmente, ele suprime os avisos e importa os módulos necessários. O código configura a chave de licença do IronPDF , inicializa o HoloViews com um backend Bokeh para criar visualizações interativas e gera dados usando NumPy.

O script cria um gráfico de linhas e um gráfico de dispersão com opções de cores, rótulos de eixos, etc., combinando-os em um layout de coluna (.cols(1)). Ele salva o arquivo HTML como 'visualization.html' usando hv.save() . Em seguida, o IronPDF converte o 'visualization.html' em um documento PDF com ChromePdfRenderer().RenderHtmlFileAsPdf() e o salva como 'document.pdf' com pdf_document.SaveAs() . Isso demonstra a sinergia entre o HoloViews e o IronPDF para converter visualizações interativas em relatórios PDF profissionais.

HoloViews Python (Como funciona para desenvolvedores): Figura 5 - Visualizações geradas

Conclusão

Em resumo, o HoloViews, em conjunto com o IronPDF, oferece uma solução robusta para gerar e distribuir visualizações baseadas em dados como documentos PDF. Com uma interface intuitiva e ferramentas de plotagem como Bokeh e Matplotlib, o HoloViews simplifica a criação de gráficos interativos e personalizados. Dessa forma, qualquer tarefa de análise de dados pode ser facilmente traduzida em relatórios visuais informativos. O IronPDF complementa essas funcionalidades convertendo visualizações em documentos PDF de alta qualidade.

Em conjunto, elas permitem que os usuários visualizem dados de forma eficaz e compartilhem ou apresentem resultados em um formato compreensível. Ao facilitar a transição da visualização de dados para a ação, o HoloViews e o IronPDF aprimoram a produtividade e a comunicação em diversos cenários, como pesquisa acadêmica, apresentações de negócios, narrativa baseada em dados e visualização interativa.

O IronPDF pode ser combinado com outros Iron Software , comprovando seu valor em poucos dias, tornando a taxa de licença $799 um investimento valioso.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais ...

Leia mais

Equipe de suporte de ferro

Estamos online 24 horas por dia, 5 dias por semana.
Bater papo
E-mail
Liga para mim