Skip to content

Problems caused by changes to logic of scatter coloring in matplotlib 3.3.0.rc1 #17849

Closed
@mwaskom

Description

@mwaskom

Bug report

Bug summary

Not a bug as much as a change in behavior that causes downstream issues.

#17543 changes the values set for the facecolors and edgecolors of "unfilled" marker in scatter.

These changes break seaborn, which relies in several places on scatter setting facecolors for both filled and unfilled markers.

seaborn can work around the issue in a new release, but at the moment there is no user-facing workaround I can suggest, and the changes mean that all seaborn scatterplots with an unfilled marker will be blank.

Code for reproduction

import matplotlib.pyplot as plt
plt.scatter([0], [0], marker="+").get_facecolors()

Actual outcome

With 3.3.0.rc1

array([], shape=(0, 4), dtype=float64)

Expected outcome

With 3.2.2

array([[0.12156863, 0.46666667, 0.70588235, 1.        ]])

xref mwaskom/seaborn#2159

Metadata

Metadata

Assignees

No one assigned

    Labels

    Release criticalFor bugs that make the library unusable (segfaults, incorrect plots, etc) and major regressions.topic: collections and mappables

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions