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


Posted in Python onNovember 26, 2020

介绍

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更改绘图背景的几种方法。

到此这篇关于如何在 Matplotlib 中更改绘图背景的文章就介绍到这了,更多相关如何在 Matplotlib 中更改绘图背景内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
将Python代码嵌入C++程序进行编写的实例
Jul 31 Python
Python如何实现文本转语音
Aug 08 Python
基于Django的ModelForm组件(详解)
Dec 07 Python
Python2和Python3.6环境解决共存问题
Nov 09 Python
python调试神器PySnooper的使用
Jul 03 Python
PyCharm2019安装教程及其使用(图文教程)
Sep 29 Python
python matplotlib.pyplot.plot()参数用法
Apr 14 Python
python中前缀运算符 *和 **的用法示例详解
May 28 Python
使用python实现下载我们想听的歌曲,速度超快
Jul 09 Python
python Pexpect模块的使用
Dec 25 Python
用Python爬取某乎手机APP数据
Jun 15 Python
Python时间操作之pytz模块使用详解
Jun 14 Python
python 实现超级玛丽游戏
Nov 25 #Python
python 制作简单的音乐播放器
Nov 25 #Python
python中绕过反爬虫的方法总结
Nov 25 #Python
pycharm激活码免费分享适用最新pycharm2020.2.3永久激活
Nov 25 #Python
python爬虫泛滥的解决方法详解
Nov 25 #Python
cookies应对python反爬虫知识点详解
Nov 25 #Python
Python基于unittest实现测试用例执行
Nov 25 #Python
You might like
PHP网站开发中常用的8个小技巧
2015/02/13 PHP
php 无限级分类 获取顶级分类ID
2016/03/13 PHP
PHP识别二维码的方法(php-zbarcode安装与使用)
2016/07/07 PHP
php+Memcached实现简单留言板功能示例
2017/02/15 PHP
万能的php分页类
2017/07/06 PHP
PHP5.6.8连接SQL Server 2008 R2数据库常用技巧分析总结
2019/05/06 PHP
javascript定义函数的方法
2010/12/06 Javascript
也说JavaScript中String类的replace函数
2011/09/22 Javascript
JQuery each()函数如何优化循环DOM结构的性能
2012/12/10 Javascript
JS中的异常处理方法分享
2013/12/22 Javascript
jquery获取选中的文本和值的方法
2014/07/08 Javascript
jquery实现的代替传统checkbox样式插件
2015/06/19 Javascript
javascript实现状态栏中文字动态显示的方法
2015/10/20 Javascript
javascript执行环境及作用域详解
2016/05/05 Javascript
Javascript 函数的四种调用模式
2016/11/05 Javascript
Vue.js实战之使用Vuex + axios发送请求详解
2017/04/04 Javascript
jquery单击文字或图片内容放大并居中显示
2017/06/23 jQuery
JS实现的找零张数最小问题示例
2017/11/28 Javascript
vue 中动态绑定class 和 style的方法代码详解
2018/06/01 Javascript
vue中的watch监听数据变化及watch中各属性的详解
2018/09/11 Javascript
vant 自定义 van-dropdown-item的用法
2020/08/05 Javascript
分享一个简单的python读写文件脚本
2017/11/25 Python
python+selenium实现自动抢票功能实例代码
2018/11/23 Python
Python内置random模块生成随机数的方法
2019/05/31 Python
python3.6根据m3u8下载mp4视频
2019/06/17 Python
深入了解Django中间件及其方法
2019/07/26 Python
如何用python批量调整视频声音
2020/12/22 Python
美国轻奢时尚购物网站:REVOLVE(支持中文)
2020/07/18 全球购物
人民调解协议书范本
2014/10/11 职场文书
党的群众路线调研报告
2014/11/03 职场文书
2016年4月份红领巾广播稿
2015/12/21 职场文书
导游词之重庆钓鱼城
2019/09/19 职场文书
利用前端HTML+CSS+JS开发简单的TODOLIST功能(记事本)
2021/04/13 Javascript
Python中基础数据类型 set集合知识点总结
2021/08/02 Python
Java面试题冲刺第十六天--消息队列
2021/08/07 面试题
SQL Server使用PIVOT与unPIVOT实现行列转换
2022/05/25 SQL Server