LStein: a new approach to visualizing sparse 2.5-dimensional data in 2D
Project description
WELCOME
:local:
:depth: 3
[!WARNING] Note, that this package is currently under development. Most functionalities should work, but changes will be implemented on a running basis and without notice. No tests have been performed yet.
[!NOTE] This page summarizes the most common characteristics, pitfalls etc. Please refer to the paper (in prep) for a more detailed list and Tutorials for solutions to some known issues/missing features.
Reference
If you use this code in your work please use this entry in your bibliography (for now):
@software{PY_Steinwender2025_lstein,
author = {{Steinwender}, Lukas},
title = {LStein: Linking Series to envision information neatly},
month = Jul,
year = 2025,
version = {latest},
url = {https://github.com/TheRedElement/LStein.git}
}
Installation
You can easily install the package using pip:
pip3 install git+https://github.com/TheRedElement/LStein.git
Quick Start
Data used for Tutorials can be found in data/.
There are also a few other datasets so feel free to have a play around.
Each dataset is a .csv file with the following columns:
| Column | Description |
|---|---|
| $\theta$-values | values to be plotted as azimuthal offset of the panel |
| $x$-values | values to be plotted radially |
| $y$-values | values to be plotted as an azimuthal offset constraint to a circle-sector |
| $y$-errors | errors assigned to $y$-values |
processing context |
which processing was used |
The demo will behave as follows:
- take the first 3 columns (in order) as $\theta$-, $x$-, $y$-values
- take the column names as axis-labels
- plot a scatter for
processing context="raw" - plot a line for
processing context!="raw"
You can try your own data as well, but make sure to
- follow the above-mentioned conventions
- add at least one row with
processing context!="raw"- if you just have raw data, you can always just duplicate the rows and change half of the rows to
processing context!="raw"
- if you just have raw data, you can always just duplicate the rows and change half of the rows to
<iframe src="_static/_notebooks/quickstart.html" width=100% height=600px></iframe>
Example Plots
Example for visualizing an ELAsTICC SN Ia. I compare LStein on the left to traditional displays on the right. |
Example for visualizing an ELAsTICC TDE. I compare LStein on the left to traditional displays on the right. |
Example for visualizing an ELAsTICC SN II. I compare LStein on the left to traditional displays on the right. |
Example for visualizing a set of artificially simulated sine waves. I compare LStein on the left to traditional displays on the right. |
Advantages and Downsides
Pros
- no overcrowded panels
- similar $\theta$-values (i.e., passbands) are plotted closer together
- allows to preserve amplitude-differences across $\theta$-values for same $y$-values
- allows depicting arbitrary number of $\theta$-values (by means of reducing the angular size of each $\theta$-panel)
- works for people with color-blindness due to relational display of information
- can be applied to variety of data (not only lightcurves)
- examples: spectra over time, different machine learning models, spiking neural networks
- layout entirely customizable
Cons
- projection effects close to
xmin - does currently not support plotting errorbars
- workaround: plot another line if you want to indicate uncertainties
Known Bugs
Open
Resolved
-
y_projection_method="theta"goes haywire for huge $x$-values (for sure $x\ge10000$)- the reason is the necessity to compute $\tan$ and $arc\tan$ when converting back and forth between coordinate systems
- workarounds
- formulate your series relative to some value so you remain in a reasonable range
- use
y_projection_method="y"
TODO
- update README.md once paper published
- remove warning
- adjust note
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file lstein-0.2.1.tar.gz.
File metadata
- Download URL: lstein-0.2.1.tar.gz
- Upload date:
- Size: 25.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.8.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2f3b0073f6d8a48185835a7163d596e2a2b4f28b690f810ee314580514e2d3e2
|
|
| MD5 |
cda36a49ca77c02b4ab3b7a3e49e38dc
|
|
| BLAKE2b-256 |
99168707fa0d85941854273720d59b50ca520c766b1e98bd6a69bfc7c526c941
|
File details
Details for the file lstein-0.2.1-py3-none-any.whl.
File metadata
- Download URL: lstein-0.2.1-py3-none-any.whl
- Upload date:
- Size: 32.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.8.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
82617cd6636040b2b784f8e5f41c9d40f65f70c38cd14ff6a630e05796e62727
|
|
| MD5 |
3399df4629d309dc9b6eb681a8b25209
|
|
| BLAKE2b-256 |
e2784d9bd750bdaa288a26936fb49c211f2d329b3b17ad7d4556cb2a17b39ca2
|