如何在 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 相关文章推荐
在Linux中通过Python脚本访问mdb数据库的方法
May 06 Python
python开发简易版在线音乐播放器
Mar 03 Python
python3使用pyqt5制作一个超简单浏览器的实例
Oct 19 Python
浅谈Python在pycharm中的调试(debug)
Nov 29 Python
python+ffmpeg批量去视频开头的方法
Jan 09 Python
Python使用sax模块解析XML文件示例
Apr 04 Python
python中pytest收集用例规则与运行指定用例详解
Jun 27 Python
Python模拟登入的N种方式(建议收藏)
May 31 Python
Python实现EM算法实例代码
Oct 04 Python
详解python中[-1]、[:-1]、[::-1]、[n::-1]使用方法
Apr 25 Python
深入浅析Django MTV模式
Sep 04 Python
Django + Taro 前后端分离项目实现企业微信登录功能
Apr 07 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实现遍历目录并删除指定文件中指定内容
2015/01/21 PHP
Laravel 5.3 学习笔记之 错误&日志
2016/08/28 PHP
PHP使用Session实现上传进度功能详解
2019/08/06 PHP
PHP7 foreach() 函数修改
2021/03/09 PHP
JavaScript Event学习第八章 事件的顺序
2010/02/07 Javascript
JQuery防止退格键网页后退的实现代码
2012/03/23 Javascript
浅析JavaScript中的变量复制、参数传递和作用域链
2016/01/13 Javascript
JS控制FileUpload的上传文件类型实例代码
2016/10/07 Javascript
JQuery实现文字无缝滚动效果示例代码(Marquee插件)
2017/03/07 Javascript
js中的事件委托或是事件代理使用详解
2017/06/23 Javascript
js事件委托和事件代理案例分享
2017/07/25 Javascript
深入理解ES6的迭代器与生成器
2017/08/19 Javascript
Angular利用trackBy提升性能的方法
2018/01/26 Javascript
angular2组件中定时刷新并清除定时器的实例讲解
2018/08/31 Javascript
[01:10]DOTA2次级职业联赛 - Fly战队宣传片
2014/12/01 DOTA
python使用pymysql实现操作mysql
2016/09/13 Python
Django中间件工作流程及写法实例代码
2018/02/06 Python
python实现高斯判别分析算法的例子
2019/12/09 Python
Python实现密码薄文件读写操作
2019/12/16 Python
python 5个实用的技巧
2020/09/27 Python
Python3+PyCharm+Django+Django REST framework配置与简单开发教程
2021/02/16 Python
一款基于css3和jquery实现的动画显示弹出层按钮教程
2015/01/04 HTML / CSS
CSS3弹性盒模型flex box快速入门心得(必看篇)
2016/05/24 HTML / CSS
浅谈css3新单位vw、vh、vmin、vmax的使用详解
2017/12/01 HTML / CSS
详解前端HTML5几种存储方式的总结
2016/12/27 HTML / CSS
美术教学感言
2014/02/22 职场文书
社区母亲节活动方案
2014/03/05 职场文书
安全生产目标责任书
2014/04/14 职场文书
员工廉洁自律承诺书
2014/05/26 职场文书
工伤事故处理协议书怎么写
2014/10/15 职场文书
2014年精神文明建设工作总结
2014/11/19 职场文书
2015年百日安全活动总结
2015/03/26 职场文书
秋菊打官司观后感
2015/06/03 职场文书
JDBC连接的六步实例代码(与mysql连接)
2021/05/12 MySQL
《最终幻想14》6.01版本4月5日推出 追加新任务新道具
2022/04/03 其他游戏
Java代码规范与质量检测插件SonarLint的使用
2022/08/05 Java/Android