Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

1D array cannot be passed to shadedata in indicate_error #192

Closed
kinyatoride opened this issue Jun 17, 2020 · 1 comment
Closed

1D array cannot be passed to shadedata in indicate_error #192

kinyatoride opened this issue Jun 17, 2020 · 1 comment
Labels

Comments

@kinyatoride
Copy link

Description

1D array cannot be passed to shadedata in indicate_error

Steps to reproduce

import numpy as np
import proplot as plot

rng = np.random.default_rng()
x = rng.standard_normal(10)
y = rng.standard_normal(10)

fig, ax = plot.subplots()
ax.plot(x, shadedata=y)

Expected behavior: [What you expected to happen]

Actual behavior: [What actually happened]

ValueError Traceback (most recent call last)
in
7
8 fig, ax = plot.subplots()
----> 9 ax.plot(x, shadedata=y)

~/miniconda3/envs/basic/lib/python3.7/site-packages/proplot/ui.py in _iterator(*args, **kwargs)
680 result = []
681 for func in objs:
--> 682 result.append(func(*args, **kwargs))
683 if len(self) == 1:
684 return result[0]

~/miniconda3/envs/basic/lib/python3.7/site-packages/proplot/axes/plot.py in wrapper(self, *args, **kwargs)
3976 @functools.wraps(func)
3977 def wrapper(self, *args, **kwargs):
-> 3978 return driver(self, func, *args, **kwargs)
3979 name = func.name
3980 if name not in proplot_methods:

~/miniconda3/envs/basic/lib/python3.7/site-packages/proplot/axes/plot.py in plot_wrapper(self, func, cmap, values, *args, **kwargs)
1379
1380 # Draw lines
-> 1381 result = func(self, *args, values=values, **kwargs)
1382
1383 # Add sticky edges? No because there is no way to check whether "dependent variable"

~/miniconda3/envs/basic/lib/python3.7/site-packages/proplot/axes/plot.py in wrapper(self, *args, **kwargs)
3976 @functools.wraps(func)
3977 def wrapper(self, *args, **kwargs):
-> 3978 return driver(self, func, *args, **kwargs)
3979 name = func.name
3980 if name not in proplot_methods:

~/miniconda3/envs/basic/lib/python3.7/site-packages/proplot/axes/plot.py in standardize_1d(self, func, autoformat, *args, **kwargs)
555 # cycle_changer is also applied so it can strip 'x' input.
556 with rc.context(autoformat=autoformat):
--> 557 return func(self, x, *ys, *args, **kwargs)
558
559

~/miniconda3/envs/basic/lib/python3.7/site-packages/proplot/axes/plot.py in wrapper(self, *args, **kwargs)
3976 @functools.wraps(func)
3977 def wrapper(self, *args, **kwargs):
-> 3978 return driver(self, func, *args, **kwargs)
3979 name = func.name
3980 if name not in proplot_methods:

~/miniconda3/envs/basic/lib/python3.7/site-packages/proplot/axes/plot.py in wrapper(bars, boxes, barstd, boxstd, barrange, boxrange, *args, **kwargs)
1046 else:
1047 kwargs.setdefault(prefix + 'pctiles', span)
-> 1048 return func(*args, **kwargs)
1049 return wrapper
1050

~/miniconda3/envs/basic/lib/python3.7/site-packages/proplot/axes/plot.py in indicate_error(self, func, medians, means, boxdata, bardata, shadedata, fadedata, boxstds, barstds, shadestds, fadestds, boxpctiles, barpctiles, shadepctiles, fadepctiles, boxmarker, boxmarkercolor, boxcolor, barcolor, shadecolor, fadecolor, shadelabel, fadelabel, shadealpha, fadealpha, boxlinewidth, boxlw, barlinewidth, barlw, capsize, boxzorder, barzorder, shadezorder, fadezorder, *args, **kwargs)
1236 data, y, shadedata, shadestds, shadepctiles,
1237 stds_default=(-2, 2), pctiles_default=(10, 90), absolute=True,
-> 1238 means_or_medians=means_or_medians, label=shadelabel,
1239 )
1240 errfunc = self.fill_between if vert else self.fill_betweenx

~/miniconda3/envs/basic/lib/python3.7/site-packages/proplot/axes/plot.py in _get_error_data(data, y, errdata, stds, pctiles, stds_default, pctiles_default, means_or_medians, absolute, label)
998 abserr = err
999 err = np.empty((2, err.size))
-> 1000 err[:, 0] = y - abserr # translated back to absolute deviations below
1001 err[:, 1] = y + abserr
1002 elif stds is not None:

ValueError: could not broadcast input array from shape (10) into shape (2)

Proplot version

0.6.4

@lukelbd lukelbd added the bug label Jun 17, 2020
@lukelbd
Copy link
Collaborator

lukelbd commented Jun 17, 2020

Fixed by: ef2d72c. Thanks for posting all of these issues, it's a huge help

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants