如何在 Matplotlib 中更改绘图背景的实现

作者:Python中文社区 时间:2022-08-28 03:13:36 

介绍

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

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

导入数据和库

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


import matplotlib.pyplot as plt
import pandas as pd

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


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

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

创建绘图

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


PRCP = weather_data['PRCP']
TMAX = weather_data['TMAX']
TMIN = weather_data['TMIN']

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

如何在 Matplotlib 中更改绘图背景的实现

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

在Matplotlib中更改绘图背景

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

在Matplotlib中更改轴背景

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


ax = plt.axes()
ax.set_facecolor("orange")
# OR
ax.set(facecolor = "orange")

plt.scatter(TMIN, PRCP)
plt.show()

如何在 Matplotlib 中更改绘图背景的实现

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

在Matplotlib中更改绘图背景

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

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


fig = plt.figure()
fig.patch.set_facecolor('blue')
fig.patch.set_alpha(0.6)

ax = fig.add_subplot(111)
ax.patch.set_facecolor('orange')
ax.patch.set_alpha(1.0)

plt.scatter(TMIN, PRCP)
plt.show()

如何在 Matplotlib 中更改绘图背景的实现

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


fig = plt.figure()
fig.patch.set_facecolor('blue')
fig.patch.set_alpha(0.6)

ax = fig.add_subplot(111)
ax.patch.set_facecolor('orange')
ax.patch.set_alpha(0.0)

plt.scatter(TMIN, PRCP)
plt.show()

如何在 Matplotlib 中更改绘图背景的实现

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

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

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

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

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


img = plt.imread("rain.jpg")
fig, ax = plt.subplots()
ax.imshow(img, extent=[-5, 80, -5, 30])
ax.scatter(TMIN, PRCP, color="#ebb734")
plt.show()

如何在 Matplotlib 中更改绘图背景的实现

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

小结

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

来源:https://blog.csdn.net/BF02jgtRS00XKtCx/article/details/110101765

标签:Matplotlib,绘图背景
0
投稿

猜你喜欢

  • python实现无边框进度条的实例代码

    2023-07-23 05:22:59
  • Python控制台输出时刷新当前行内容而不是输出新行的实现

    2022-11-28 23:38:22
  • Python+Socket实现基于TCP协议的客户与服务端中文自动回复聊天功能示例

    2023-07-18 20:11:01
  • ajax+asp无限级分类树型结构

    2011-04-02 11:05:00
  • python实现石头剪刀布小游戏

    2022-03-22 15:47:36
  • ajax返回中文乱码问题解决

    2009-04-13 16:07:00
  • python之js逆向功能演示详解

    2023-09-01 13:49:29
  • Python实现的服务器示例小结【单进程、多进程、多线程、非阻塞式】

    2023-02-24 00:19:25
  • 常用的Python代码调试工具总结

    2023-05-17 19:24:29
  • flash与asp/php/asp.net通信的方法第1/3页

    2023-11-15 03:43:03
  • python调用摄像头的示例代码

    2021-10-11 02:18:09
  • FrontPage2003 中网页布局功能的应用

    2007-11-18 14:43:00
  • python生成式的send()方法(详解)

    2022-09-02 23:50:56
  • 使用PDB简单调试Python程序简明指南

    2022-07-27 21:03:28
  • 详解python之多进程和进程池(Processing库)

    2022-07-18 23:23:58
  • 详解TensorFlow2实现线性回归

    2022-11-10 15:35:13
  • excel导入到SQL Sever数据库

    2008-03-25 10:24:00
  • python中return不返回值的问题解析

    2021-04-26 20:36:07
  • Python排序算法之插入排序及其优化方案详解

    2021-04-03 05:39:31
  • 在win64上使用bypy进行百度网盘文件上传功能

    2023-07-04 04:59:18
  • asp之家 网络编程 m.aspxhome.com