| Build | Coverage | Documentation |
|---|---|---|
Interactive JavaScript-based visualizations built in Julia
JSPlots.jl creates interactive, standalone HTML visualizations that work in any browser. Build line charts, scatter plots, 3D visualizations, pivot tables, and more - all from Julia without any coding in JavaScript needed.
The closest comparison to what I am trying to build is probably Pluto notebooks or jupyter notebooks. The key difference is that the pages that you generate with JSPlots runnable anywhere with interactive plotting - you do not need Julia or anything else installed except for a webbrowser. This means too that the documents that are generated by JSPlots are intended to be immutable documents to present your data rather than something you develop with (as you get with the notebooks).
You can see in the page here an example page with all of the types of charts that you can make here For the Julia code that generated this see here
The plot types are below. For each you can click on the name of the chart and see a page that demonstrates the different ways the plot can be used.
- TextBlock - Rich text and HTML content for annotations
- Notes - A block of text that is populated from a textfile, useful for embedding comments in JSPlots documents.
- CodeBlock - Display code in a nice format. There is proper syntax highlighting for several languages (Julia, Python, R, C++, C, Java, JavaScript, Rust, SQL, PostgreSQL) without others in black.
- LinkList - Styled lists of hyperlinks for multi-page navigation with optional subheadings
- ReportIndex - A sortable list of hyperlinks for multi-page navigation. Populated by an external manifest file.
- Table - Data tables
- PivotTable - Interactive drag-and-drop pivot tables (via PivotTable.js)
- Picture - Display static images or plots from VegaLite.jl, Plots.jl or Makie.jl
- Slides - Slideshows and animations from sequences of images or generated plots
- LineChart - Time series and trend visualization with faceting
- AreaChart - This does both Area Charts as well as Bar Charts
- ScatterPlot - 2D scatter plots with marginal distributions
- Path - Trajectory visualization showing ordered paths through 2D space with direction arrows
- CumPlot - Show cumulative line charts that are renormalised to the visible area
- DistPlot - Distribution visualization combining histogram, box plot, and rug plot
- KernelDensity - Smooth kernel density estimation for distributions
- PieChart - Makes Piecharts.
- BoxAndWhiskers - box and whiskers chart representing the distribution of each entity.
- Scatter3D - 3D scatter plots with PCA eigenvectors
- Surface3D - 3D surface visualization
- ScatterSurface3D - 3D scatter plots with fitted surfaces (L1/L2 minimization)
- CorrPlot - Make Correlation matrices and hierarchical clustering dendrograms representing connections between variables.
- Graph - Make graphs that show the connections between variables in a correlation matrix.
- TSNEPlot - Use t-sne to cluster similar points together in a 2 dimensional space.
- LocalGaussianCorrelationPlot - Visualize how correlation between two variables changes across their joint distribution using Local Gaussian Correlation.
- CandlestickChart - CandleStick charts (Open/High/Low/Close/Volume). for financial time series.
- ExecutionChart - A chart showing fills relative to bid and ask over the course of trading a security.
- DrawdownPlot - Drawdown visualization from peak cumulative performance.
- GeoPlot - Plot points or areas on a map.
- Waterfall - Make Waterfall plots showing how positive and negative elements add up to an aggregate.
- SanKey - Make SanKey plots showing how observations change affiliation over multiple waves.
- RadarChart - Make RadarCharts showing how a single entity performs on various metrics.
- BumpChart - BumpChart showing rankings over time.
The examples above for each plottype (together with a few others) can be found in the examples/ folder.
The pivot table functionality wraps PivotTable.js, similar to the Python pivottablejs module. Plotly visualizations use Plotly.js. Credit to Claude code for doing all of the testing and a couple of the chart types. Pull Requests welcome.