-
Notifications
You must be signed in to change notification settings - Fork 99
Closed
Labels
Description
Description
contour doesn't work when only one level is available in levels.
Steps to reproduce
import proplot as plot
import pandas as pd
import numpy as np
fig, axs = plot.subplots()
state = np.random.RandomState(51423)
data = state.rand(6, 6)
data = pd.DataFrame(data, index=pd.Index(['a', 'b', 'c', 'd', 'e', 'f']))
# Line contours with labels
axs.contour(
data.cumsum(axis=1) - 2,
# color='gray8',
levels=[0]
)
axs.format(title='Line contour plot with labels')Expected behavior:
Just like the color is specified:
color='gray8'
Actual behavior:
Traceback (most recent call last):
File "/home/xin/Desktop/test.py", line 13, in <module>
levels=[0]
File "/home/xin/Software/miniconda3/envs/s5p/lib/python3.7/site-packages/proplot/ui.py", line 682, in _iterator
result.append(func(*args, **kwargs))
File "/home/xin/Software/miniconda3/envs/s5p/lib/python3.7/site-packages/proplot/axes/plot.py", line 3867, in wrapper
return driver(self, func, *args, **kwargs)
File "/home/xin/Software/miniconda3/envs/s5p/lib/python3.7/site-packages/proplot/axes/plot.py", line 897, in standardize_2d
return func(self, x, y, *Zs, **kwargs)
File "/home/xin/Software/miniconda3/envs/s5p/lib/python3.7/site-packages/proplot/axes/plot.py", line 3867, in wrapper
return driver(self, func, *args, **kwargs)
File "/home/xin/Software/miniconda3/envs/s5p/lib/python3.7/site-packages/proplot/internals/warnings.py", line 97, in wrapper
return func_orig(*args, **kwargs)
File "/home/xin/Software/miniconda3/envs/s5p/lib/python3.7/site-packages/proplot/axes/plot.py", line 2867, in cmap_changer
minlength=(1 if name in ('contour', 'tricontour') else 2),
File "/home/xin/Software/miniconda3/envs/s5p/lib/python3.7/site-packages/proplot/axes/plot.py", line 2552, in _build_discrete_norm
levels, descending = pcolors._check_levels(levels)
File "/home/xin/Software/miniconda3/envs/s5p/lib/python3.7/site-packages/proplot/colors.py", line 1760, in _check_levels
raise ValueError(f'Levels {levels} must be 1d vector with size >= 2.')
ValueError: Levels [0] must be 1d vector with size >= 2.
Proplot version
0.6.3