![Oracle Drags Its Feet in the JavaScript Trademark Dispute](https://cdn.sanity.io/images/cgdhsj6q/production/919c3b22c24f93884c548d60cbb338e819ff2435-1024x1024.webp?w=400&fit=max&auto=format)
Security News
Oracle Drags Its Feet in the JavaScript Trademark Dispute
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Statsplotly is a Python data visualization library based on Plotly. It provides a high-level interface for drawing interactive statistical data visualization plots with a tidy, declarative API.
I began to work on this library during my first job outside academia, a few months before the fantastic plotly.express API was launched. I was looking for a solution to generate visually appealing statistical plots that adapt well to diverse communication mediums, such as web applications, Jupyter Notebooks, presentations, and printed reports.
There are multiple declarative visualization library in the Python ecosystem, each with their own strengths, but none really fit my needs at the time.
Further, I discovered that real-world data analysis, whether in academia or industry, is rarely about creating facet plots. Instead, it revolves around crafting the most effective graphical representation to achieve one of two primary objectives:
There is no reason these two endeavours should require different workflows. On the contrary, working towards both ends using the same tool should increase both analysis and communication efficiency.
I thus set out to design a library combining :
a high level interface with graphical representation entities (e.g., plot, barplot, distplot, etc) as entrypoint functions. As intellectually satisfying the Grammar of Graphics may be, I find this framework to be quite convoluted for expressing pragmatic visualization needs one has when performing real-world data analysis.
a mainly declarative, yet chainable and customizable by imperative workflow, API. Assembling the appropriate data visualization units across a flexible combination of facets requires keeping control over the different layers of the graphical representations.
A genuinely interactive plotting interface: In the realm of data visualization beyond scientific publishing, the primary objectives are to explore and convey insights about a phenomenon, business metrics, or a model's performance. This requires a responsive graphic engine allowing for dynamic visualization.
statsplotly
key standout features are :
In summary, statsplotly
seeks to take advantage of the powerful interactivity offered by plotly.js
without compromising statistical intelligibility for aesthetic choices, or vice-versa.
Main features and details of the public API can be found in the documentation.
pip install statsplotly
First make sure you have Poetry installed on your system (see instruction).
Then, assuming you have a Unix shell with make, create and set up a new Poetry environment :
make init
To make the Poetry-managed kernel available for a globally installed Jupyter :
poetry run python -m ipykernel install --user --name=<KERNEL_NAME>
jupyter notebook
On the Jupyter server, select the created kernel in “Kernel” -> “Change kernel”.
The Makefile provides several targets to assist in development and code quality :
init
creates a project-specific virtual environment and installs the dependencies of the poetry.lock
file.ci
launches Black, Ruff, mypy and pytest on your source code.pre-commit
set up and run pre-commit hooks (see pre-commit documentation).update-doc
and build-doc
generates documentation from source code and builds it with Sphinx.coverage
generates code coverage report.clean
clears bytecode, poetry
/pip
caches and pre-commit
hooks. Use with caution.FAQs
Tidy API for statistical visualization with Plotly
We found that statsplotly demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.