Skip to main content

Shaded quantile plot

Project description

shadyquant😎

GitHub PyPI version

This python package allows you to quantile and plot lines where you have multiple samples, typically for visualizing uncertainty. Your data should be shaped (N, T), where N is the number of samples, T is the dimension of your lines.

Install

pip install shadyquant

Example

Consider you have 100 lines that you want to compute confidence intervals (quantiles) on:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0,2,1000)
y = np.sin(x)
plt.plot(x,y)

image

w = np.random.normal(size=100)**2
traj = y + y * w[:, None]
plt.plot(traj.T, color='C0')
plt.show()

image

You can use shadyquant to plot a 95% confidence interval:

import sq
sq.traj_quantile(traj)

image

You can also do weighted quantiling if you have weights attached to each line

sq.traj_quantile(traj, weights=w)

image

You may want to do fancy shading, which just plots a series of quantiles as polygons with transparency. The quantils overlap, which gives a nice blending. The outer edges of the polygons still correspond to the 95% confidence interval

sq.traj_quantile(traj, fancy_shading=True)

image

Here are some further options you can modify:

plt.figure(figsize=(8, 3))
ax = plt.gca()
sq.traj_quantile(
    traj,
    ax=ax,
    fancy_shading=True,
    lower_q_bound=1 / 3,
    upper_q_bound=2 / 3,
    levels=100,
    color="red",
    alpha=0.01,
)

image

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

shadyquant-0.1.0.tar.gz (4.1 kB view hashes)

Uploaded Source

Built Distribution

shadyquant-0.1.0-py3-none-any.whl (4.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page