小言_互联网的博客

如何在 Matplotlib 中更改绘图背景

406人阅读  评论(0)

介绍

Matplotlib是Python中使用最广泛的数据可视化库之一。无论是简单还是复杂的可视化项目,它都是大多数人的首选库。

在本教程中,我们将研究如何在Matplotlib中更改绘图的背景。

导入数据和库

让我们首先导入所需的库。显然,我们将需要Matplotlib,并且将使用Pandas读取数据:


   
  1. import matplotlib.pyplot as plt
  2. import pandas as pd

具体来说,我们将使用Seattle Weather Dataset(https://www.kaggle.com/rtatman/did-it-rain-in-seattle-19482017)这个数据集:


   
  1. weather_data = pd.read_csv( "seattleWeather.csv")
  2. print(weather_data.head())

   
  1.          DATE  PRCP  TMAX  TMIN  RAIN
  2. 0   1948 -01 -01   0.47     51     42  True
  3. 1   1948 -01 -02   0.59     45     36  True
  4. 2   1948 -01 -03   0.42     45     35  True
  5. 3   1948 -01 -04   0.31     45     34  True
  6. 4   1948 -01 -05   0.17     45     32  True

创建绘图

现在,让我们创建一个简单的Matplotlib 散点图,其中包含一些我们想要可视化的变量:


   
  1. PRCP = weather_data[ 'PRCP']
  2. TMAX = weather_data[ 'TMAX']
  3. TMIN = weather_data[ 'TMIN']

现在,我们将在最低温度和降水之间构建一个散点图,并使用PyPlot中的show()函数将其显示。

我们生成的图形是没什么问题,但看起来有点普通。让我们尝试重新自定义它。本文中使用两种不同的方法来自定义绘图的背景。

在Matplotlib中更改绘图背景

现在,让我们继续更改该绘图的背景。我们可以使用两种不同的方法来做到这一点。我们可以更改当前设置为white的底部颜色。或者,我们可以使用imshow()输入图片。

在Matplotlib中更改轴背景

首先让我们更改底部的颜色。这可以通过set()函数,传入face参数及其新值来完成,也可以通过专用的set_facecolor()函数来完成:


   
  1. ax = plt.axes()
  2. ax.set_facecolor( "orange")
  3. # OR
  4. ax.set(facecolor =  "orange")
  5. plt.scatter(TMIN, PRCP)
  6. plt.show()

这两种方法均会产生相同的结果,因为它们都在后台调用相同的函数。

在Matplotlib中更改绘图背景

如果要设置图形的背景并且需要使轴透明,可以在创建图形时使用set_alpha()参数来完成。让我们创建一个图形和一个轴对象。当然,您也可以使用set()函数,并传递alpha属性。

整个图形的颜色将为蓝色,我们首先将轴对象的alpha设置为1.0,这意味着完全不透明。我们将轴对象着色为橙色,从而在蓝色图中为我们提供了橙色背景:


   
  1. fig = plt.figure()
  2. fig.patch.set_facecolor( 'blue')
  3. fig.patch.set_alpha( 0.6)
  4. ax = fig.add_subplot( 111)
  5. ax.patch.set_facecolor( 'orange')
  6. ax.patch.set_alpha( 1.0)
  7. plt.scatter(TMIN, PRCP)
  8. plt.show()

现在,让我们看看将alpha调整为0.0时会发生什么:


   
  1. fig = plt.figure()
  2. fig.patch.set_facecolor( 'blue')
  3. fig.patch.set_alpha( 0.6)
  4. ax = fig.add_subplot( 111)
  5. ax.patch.set_facecolor( 'orange')
  6. ax.patch.set_alpha( 0.0)
  7. plt.scatter(TMIN, PRCP)
  8. plt.show()

注意绘图本身的背景现在是透明的。

将图像添加到Matplotlib中的绘图背景

如果您想将图像用作绘图的背景,则可以使用PyPlot的imread()函数来完成。此函数将图像加载到Matplotlib中,该图像可与```imshow()``函数一起显示。

为了在图像上方绘制,必须指定图像的范围。默认情况下,Matplotlib使用图像的左上角作为图像的原点。我们可以给imshow()函数提供一个点列表,指定应该显示图像的哪个区域。与子图组合时,可以在图像上方插入另一个图。

让我们使用下雨的图像作为背景:


   
  1. img = plt.imread( "rain.jpg")
  2. fig, ax = plt.subplots()
  3. ax.imshow(img, extent=[ -580-530])
  4. ax.scatter(TMIN, PRCP, color= "#ebb734")
  5. plt.show()

范围参数按此顺序接受的参数包括:horizontal_minhorizontal_maxvertical_minvertical_max)。在这里,我们读取了图像,将其裁剪并使用imshow()在轴上显示。

小结

在本教程中,我们介绍了使用Python和Matplotlib更改绘图背景的几种方法。

推荐阅读

如何在 matplotlib 中加注释和内嵌图

Matplotlib 常见组件设置大全

如何用 Matplotlib 画一张好看的图

点击下方阅读原文加入社区会员

点赞鼓励一下


转载:https://blog.csdn.net/BF02jgtRS00XKtCx/article/details/110101765
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场