猿问

如何更改情节背景颜色?

我正在matplotlib中制作散点图,需要将实际图的背景更改为黑色。我知道如何使用以下方法更改情节的脸色:


fig = plt.figure()

fig.patch.set_facecolor('xkcd:mint green')

我的问题是,这会改变情节周围空间的颜色。如何更改绘图的实际背景颜色?


www说
浏览 643回答 3
3回答

喵喔喔

使用您通过以下方法之一创建set_facecolor(color)的axesobject方法:您一起创建了图形和轴fig, ax = plt.subplots(nrows=1, ncols=1)您创建了一个图形,然后再创建一个轴fig = plt.figure()ax = fig.add_subplot(1, 1, 1) # nrows, ncols, index您使用了有状态的API(如果您要做的事情不只是几行,尤其是如果您有多个绘图,则上述面向对象的方法可以使生活更轻松,因为您可以引用特定的图形,在某些轴上绘图并自定义要么)plt.plot(...)ax = plt.gca()然后,您可以使用set_facecolor:ax.set_facecolor('xkcd:salmon')ax.set_facecolor((1.0, 0.47, 0.42))轴上带有粉红色背景的示例图作为颜色的补充:matplotlib.colorsMatplotlib可识别以下格式以指定颜色:浮动值的RGB或RGBA元组[0, 1](例如(0.1, 0.2, 0.5)或(0.1, 0.2, 0.5, 0.3));十六进制RGB或RGBA字符串(例如'#0F0F0F'或'#0F0F0F0F');浮点值的字符串表示形式,[0, 1]包括灰度值(例如'0.5');之一{'b', 'g', 'r', 'c', 'm', 'y', 'k', 'w'};X11 / CSS4颜色名称;来自xkcd颜色调查的名字; 以'xkcd:'(例如'xkcd:sky blue')为前缀;其中之一{'tab:blue', 'tab:orange', 'tab:green', 'tab:red', 'tab:purple', 'tab:brown', 'tab:pink', 'tab:gray', 'tab:olive', 'tab:cyan'}是“ T10”分类调色板中的Tableau颜色(这是默认颜色周期);“ CN”颜色规范,即“ C”后跟一位数字,这是默认属性周期(matplotlib.rcParams['axes.prop_cycle'])的索引;该索引在艺术家创建时发生,如果循环不包含颜色,则默认为黑色。除“ CN”外,所有颜色的字符串规格均不区分大小写。

牧羊人nacy

像这样吗 使用axisbg关键字subplot:>>> from matplotlib.figure import Figure>>> from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas>>> figure = Figure()>>> canvas = FigureCanvas(figure)>>> axes = figure.add_subplot(1, 1, 1, axisbg='red')>>> axes.plot([1,2,3])[<matplotlib.lines.Line2D object at 0x2827e50>]>>> canvas.print_figure('red-bg.png')(授予的,不是散点图,也不是黑色背景。)

有只小跳蛙

一种方法是在脚本中手动设置轴背景色的默认值(请参阅自定义matplotlib):import matplotlib.pyplot as pltplt.rcParams['axes.facecolor'] = 'black'这与Nick T的方法相反,后者更改了特定axes对象的背景颜色。如果您要制作多个具有相似样式的不同绘图,并且不想一直更改其他axes对象,则重置默认值很有用。注意:相当于fig = plt.figure()fig.patch.set_facecolor('black')从您的问题是:plt.rcParams['figure.facecolor'] = 'black'
随时随地看视频慕课网APP

相关分类

Python
我要回答