Skip to content

Interactive Plotly examples in Perl using Jupyter and the iPerl kernel. Includes basic plots, map visualizations, and 3D plots — all rendered from Perl. Edited in VSCode on macOS Sonoma.

License

Notifications You must be signed in to change notification settings

marcontk/Perl-Plotly-examples

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Plotly Examples in Perl using iPerl (Jupyter)

This repository showcases interactive data visualization using Perl in Jupyter Notebooks through the iPerl kernel. It includes three examples that demonstrate how to generate web-based interactive plots with Plotly from Perl.

The notebook perl_plot_examples.ipynb was edited in Visual Studio Code (VSCode) using the iPerl Jupyter kernel plugin. The environment used was macOS Sonoma 14.7.4.

📦 Requirements

  • Perl 5.x
  • iPerl (GitHub repo)
  • JupyterLab or VSCode with Jupyter extension
  • CPAN modules:
    • Chart::Plotly
    • PDL
    • Dash (optional, for advanced dashboards)

📈 Example 1: Simple Plot with Plotly

A basic interactive line plot using Chart::Plotly::Plot.

Perl snippet:

use Chart::Plotly qw(show_plot);
use Chart::Plotly::Plot;
use Chart::Plotly::Trace::Scatter;

my $trace = Chart::Plotly::Trace::Scatter->new(
    x => [0 .. 10],
    y => [ map { $_**2 } 0 .. 10 ],
    mode => 'lines+markers'
);

my $plot = Chart::Plotly::Plot->new(traces => [$trace]);
show_plot($plot);

🗺️ Example 2: Interactive Map with Scattermapbox

An interactive geographic plot using Scattermapbox. It shows points based on latitude/longitude.

Perl snippet:

use Chart::Plotly::Plot;
use Chart::Plotly::Trace::Scattermapbox;

my $trace = Chart::Plotly::Trace::Scattermapbox->new(
    lat  => ["-33.45"],
    lon  => ["-70.66"],
    mode => 'markers',
    marker => { size => 14 },
    text => ["Santiago"]
);

my $plot = Chart::Plotly::Plot->new(
    traces => [$trace],
    layout => {
        mapbox => { style => "open-street-map", center => { lat => -33.45, lon => -70.66 }, zoom => 5 },
        margin => { t => 0, b => 0, l => 0, r => 0 }
    }
);

Chart::Plotly::show_plot($plot);

🌐 Example 3: 3D Interactive Plot (Scatter3d)

Generates a 3D scatter plot with Plotly.

Perl snippet:

use Chart::Plotly::Plot;
use Chart::Plotly::Trace::Scatter3d;

my $trace = Chart::Plotly::Trace::Scatter3d->new(
    x => [1 .. 10],
    y => [ map { $_**0.5 } 1 .. 10 ],
    z => [ map { $_**1.5 } 1 .. 10 ],
    mode => 'markers',
    marker => { size => 4, color => [1 .. 10], colorscale => 'Viridis' }
);

my $plot = Chart::Plotly::Plot->new(traces => [$trace]);
Chart::Plotly::show_plot($plot);

🖼️ Preview

Example of Plotly output from Perl (interactive 3D plot):

screenshot


📂 Files

  • perl_plot_examples.ipynb: Jupyter notebook with all examples

💡 ¿Cómo ejecutar este notebook?

Este notebook está hecho en Perl usando el kernel IPerl.
Puedes ejecutarlo localmente con los siguientes pasos:

  1. Instala Perl y cpanm (si aún no lo tienes):

    curl -L https://cpanmin.us | perl - App::cpanminus
    
  2. Instala los módulos necesarios cpanm Devel::IPerl Chart::Plotly

  3. Abre el notebook en Visual Studio Code
    • Instala la extensión Jupyter en VSCode.
    • Asegúrate de tener el kernel IPerl instalado.
    • Abre el archivo .ipynb y selecciona el kernel Perl.

También puedes usar jupyter notebook desde terminal si prefieres Jupyter clásico.

📄 License

MIT License

About

Interactive Plotly examples in Perl using Jupyter and the iPerl kernel. Includes basic plots, map visualizations, and 3D plots — all rendered from Perl. Edited in VSCode on macOS Sonoma.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published