You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
df1 = pd.DataFrame({}, columns=["aa", "bb", "cc"]) # empty dataframe
# df1 = pd.DataFrame([(1, 2, 3), (2, 1, 3)], columns=["aa", "bb", "cc"]) # with this, it works
sns.lineplot(df1, x="aa", y="bb") # works
sns.lineplot(df1, x="aa", y="bb", hue="cc") # does not work
Error happens with seaborn 0.13.0, but not with 0.12.2:
Error:
File .../python3.10/site-packages/seaborn/relational.py:507, in lineplot(data, x, y, hue, size, style, units, palette, hue_order, hue_norm, sizes, size_order, size_norm, dashes, markers, style_order, estimator, errorbar, n_boot, seed, orient, sort, err_style, err_kws, legend, ci, ax, **kwargs)
504 color = kwargs.pop("color", kwargs.pop("c", None))
505 kwargs["color"] = _default_color(ax.plot, hue, color, kwargs)
--> 507 p.plot(ax, kwargs)
508 return ax
File .../python3.10/site-packages/seaborn/relational.py:274, in _LinePlotter.plot(self, ax, kws)
266 # TODO How to handle NA? We don't want NA to propagate through to the
267 # estimate/CI when some values are present, but we would also like
268 # matplotlib to show "gaps" in the line when all values are missing.
(...)
271
272 # Loop over the semantic subsets and add to the plot
273 grouping_vars = "hue", "size", "style"
--> 274 for sub_vars, sub_data in self.iter_data(grouping_vars, from_comp_data=True):
276 if self.sort:
277 sort_vars = ["units", orient, other]
File .../python3.10/site-packages/seaborn/_base.py:938, in VectorPlotter.iter_data(self, grouping_vars, reverse, from_comp_data, by_facet, allow_empty, dropna)
935 for var in grouping_vars:
936 grouping_keys.append(levels.get(var, []))
--> 938 iter_keys = itertools.product(*grouping_keys)
939 if reverse:
940 iter_keys = reversed(list(iter_keys))
TypeError: 'NoneType' object is not iterable
The text was updated successfully, but these errors were encountered:
…3.0 (#3569)
* Update _base.py
Corresponds to the case where grouping_var has None object.
* Add a test case
Add a test case to test_relational.py and a fixture empty dataframe.
* Fix error
To avoid the error 'The truth value of an array with more than one element is ambiguous.', we don't use walrus operator.
* Incorporate feedbacks.
- Remove unnecessary fixture.
- Refactoring.
MWE
Error happens with seaborn 0.13.0, but not with 0.12.2:
Error:
The text was updated successfully, but these errors were encountered: