如何在 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中更改绘图背景
现在,让我们继续更改该绘图的背景。我们可以使用两种不同的方法来做到这一点。我们可以更改当前设置为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中更改绘图背景
如果要设置图形的背景并且需要使轴透明,可以在创建图形时使用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()
现在,让我们看看将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中的绘图背景
如果您想将图像用作绘图的背景,则可以使用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()
范围参数按此顺序接受的参数包括:horizontal_min
,horizontal_max
,vertical_min
,vertical_max)
。在这里,我们读取了图像,将其裁剪并使用imshow()
在轴上显示。
小结
在本教程中,我们介绍了使用Python和Matplotlib更改绘图背景的几种方法。
来源:https://blog.csdn.net/BF02jgtRS00XKtCx/article/details/110101765


猜你喜欢
- 一、TensorFlow介绍1、简介 TensorFlow是一个基于数据流编程(dataflow programming)的符号数学系统,
- scrapy是用python开发的爬虫框架,从网上查了安装方法,感觉都说的挺复杂,而且很多教程都很有年头了,于是记录了自己的安装过程。首先安
- @StartIndex为当前页起始序号,@EndIndex为当前页结束记录序号,可以直接作为参数输入,也可以通过输入PageSize和Pag
- 发现ie7的空格间距要比ie6/firefox/opera的都要宽一点。比如有时候排版的时候,我会采用简单的空格来分隔。<div&nb
- 1、创建数组 var array = new Array(); var array = new Array(size);//指定数组的长度
- select to_char(date_published, 'yyyymm') yo from blog group by
- 用css属性选择器可以有选择性地对链接样式进行控制,如让所有的外部链接都加一个小图标来标识其是一外部链接。但用css有弊端: 1、只支持Fi
- '************************************* 'asp计算随机数&nb
- 一、什么是组件组件 (Component) 是 Vue.js 最强大的功能之一。组件可以扩展 HTML 元素,封装可重用的代码。二、组件用法
- PHP simplexml_import_dom() 函数实例获取 DOM 文档节点并转换为 SimpleXML 节点:<?php $
- 引言“ 这是MySQL系列笔记的第十一篇,文章内容均为本人通过实践及查阅资料相关整理所得,可用作新手入门指南,
- 目录1. 画布(canvas) 1.1 设置画布大小2. 画笔 2.1 画笔的状态 2.2 画笔的属性 2.3 绘图命令3. 命令详
- asp之家注:也许很多人对网页设计中的,id和class和name的区别不是很清楚,好像觉得都可以使用,没什么不同。就我个人来讲,我的理解是
- 1.substring_index函数的语法及其用法(1)语法:substring_index(string,sep,num)即substr
- 代码如下:---这是一个人事系统中的示例,要求记录一下员工的缺勤情况 ---1.要在表中记录一下缺勤计分,是对经常缺勤者的一种处
- 1. 绝对路径引入Python 在搜索模块时,依次搜索sys.path里的位置,直到找到模块为止。下面命令可以查看当前的搜索路径:impor
- <% On Error Resume Next Const uploadPath = "/uploads/"
- 目录前言魔法方法__init__方法__new__方法__call__方法__str___方法__del___方法__enter__ &am
- 1.导入matplotlib.pylab和numpy包import matplotlib.pylab as pltimport numpy
- 1. 返回列表和标量(Scalar)前面我们注意到Query对象可以返回可迭代的值(iterator value),然后我们可以通过for