376 Stimmen

Wie ändert man die Hintergrundfarbe des Plots?

Ich mache ein Streudiagramm in Matplotlib und muss den Hintergrund des tatsächlichen Plots auf schwarz ändern. Ich weiß, wie man die Gesichtsfarbe des Plots mit ändern kann:

fig = plt.figure()
fig.patch.set_facecolor('xkcd:mint green')

enter image description here

Mein Problem ist, dass sich dadurch die Farbe des Raums um das Grundstück herum ändert. Wie ändere ich die tatsächliche Hintergrundfarbe des Plots?

21voto

Flonks Punkte 425

Am einfachsten ist es wahrscheinlich, die Farbe bei der Erstellung des Plots anzugeben:

fig1 = plt.figure(facecolor=(1, 1, 1))

o

fig1, (ax1, ax2) = plt.subplots(nrows=1, ncols=2, facecolor=(1, 1, 1))

18voto

Ein Vorschlag in anderen Antworten ist die Verwendung von ax.set_axis_bgcolor("red") . Dies ist jedoch veraltet und funktioniert nicht mit MatPlotLib >= v2.0.

Es gibt auch den Vorschlag, Folgendes zu verwenden ax.patch.set_facecolor("red") (funktioniert sowohl mit MatPlotLib v1.5 als auch v2.2). Während dies gut funktioniert, ist eine noch einfachere Lösung für v2.0+ die Verwendung von

ax.set_facecolor("red")

2voto

Douasb' Punkte 36

Zusätzlich zu der Antwort von NickT können Sie den Hintergrundrahmen auch löschen, indem Sie ihn wie hier erklärt auf "keine" setzen: https://stackoverflow.com/a/67126649/8669161

import matplotlib.pyplot as plt
plt.rcParams['axes.facecolor'] = 'none'

2voto

waykiki Punkte 904

Ich denke, das könnte für einige Leute nützlich sein:

Wenn Sie die Farbe des Hintergrunds ändern möchten, die umgibt die Figur, können Sie dies verwenden:

fig.patch.set_facecolor('white')

Also stattdessen dies:

Image with transparent background

erhalten Sie dies:

enter image description here

Natürlich können Sie jede beliebige Farbe einstellen, die Sie möchten.

P.S. Falls Sie versehentlich keinen Unterschied zwischen den beiden Diagrammen sehen, versuchen Sie, bei StackOverflow im Darkmode zu suchen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X