使用Matplotlib如何对绘图背景进行更改?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
<强>介绍强>
Matplotlib是Python中使用最广泛的数据可视化库之一。无论是简单还是复杂的可视化项目,它都是大多数人的首选库。
在本教程中,我们将研究如何在Matplotlib中更改绘图的背景。
<>强导入数据和库强>
让我们首先导入所需的库。显然,我们将需要Matplotlib,并且将使用熊猫读取数据:
import matplotlib.pyplot as plt import pandas as  pd
具体来说,我们将使用<代码>西雅图天气数据集> 代码(https://www.kaggle.com/rtatman/did) - - - -在-西雅图- 19482017)——下雨这个数据集:
weather_data =, pd.read_csv (“seattleWeather.csv") print (weather_data.head ())
,,,DATE PRCP TMAX TMIN 雨 0,1948 - 01 - 01,0.47,51,42岁,真的 1,1948 - 01 - 02,0.59,45岁,36岁,真的 2,1948 - 01 - 03,0.42,45岁,35岁,真的 3,1948 - 01 - 04,0.31,45岁,34岁,真的 4,1948 - 01 - 05,0.17,45岁,32,真正的
<强>创建绘图强>
现在,让我们创建一个简单的Matplotlib散点图,其中包含一些我们想要可视化的变量:
PRCP =, weather_data[& # 39;遥控配电盘# 39;】 时间=TMAX weather_data[& # 39;达峰时间# 39;】 TMIN =, weather_data [& # 39; TMIN& # 39;]
现在,我们将在最低温度和降水之间构建一个散点图,并使用PyPlot中的<代码> show() 代码>函数将其显示。
我们生成的图形是没什么问题,但看起来有点普通。让我们尝试重新自定义它。本文中使用两种不同的方法来自定义绘图的背景。
<强>在Matplotlib中更改绘图背景强>
现在,让我们继续更改该绘图的背景。我们可以使用两种不同的方法来做到这一点。我们可以更改当前设置为白色<代码> 代码>的底部颜色。或者,我们可以使用<代码> imshow() 代码>输入图片。
<强>在Matplotlib中更改轴背景强>
首先让我们更改底部的颜色。这可以通过<代码>设置()代码>函数,传入<代码> 代码>脸参数及其新值来完成,也可以通过专用的<代码> set_facecolor() 代码>函数来完成:
ax =, plt.axes () ax.set_facecolor (“orange") #,或 ax.set (=facecolor “orange") , plt.scatter (TMIN,遥控配电盘) plt.show ()
这两种方法均会产生相同的结果,因为它们都在后台调用相同的函数。
<强>在Matplotlib中更改绘图背景强>
如果要设置图形的背景并且需要使轴透明,可以在创建图形时使用<代码> set_alpha() 代码>参数来完成。让我们创建一个图形和一个轴对象。当然,您也可以使用<代码>设置()代码>函数,并传递α<代码> 代码>属性。
整个图形的颜色将为蓝色,我们首先将轴对象的α<代码> 代码>设置为1.0 <代码> 代码,这意味着完全不透明。我们将轴对象着色为橙色,从而在蓝色图中为我们提供了橙色背景:
fig =, plt.figure () fig.patch.set_facecolor(& # 39;蓝# 39;) fig.patch.set_alpha (0.6) , 时间=ax fig.add_subplot (111) ax.patch.set_facecolor(& # 39;橙色# 39;) ax.patch.set_alpha (1.0) , plt.scatter (TMIN,遥控配电盘) plt.show ()
现在,让我们看看将α<代码> 代码>调整为0.0 <代码> 代码>时会发生什么:
fig =, plt.figure () fig.patch.set_facecolor(& # 39;蓝# 39;) fig.patch.set_alpha (0.6) , 时间=ax fig.add_subplot (111) ax.patch.set_facecolor(& # 39;橙色# 39;) ax.patch.set_alpha (0.0) , plt.scatter (TMIN,遥控配电盘) plt.show ()
注意绘图本身的背景现在是透明的。