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

 更新时间:2020年11月26日 08:39:58   作者:Python中文社区  
这篇文章主要介绍了如何在 Matplotlib 中更改绘图背景的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

介绍

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

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

导入数据和库

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

import matplotlib.pyplot as plt
import pandas as pd

具体来说,我们将使用Seattle Weather Datasethttps://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_minhorizontal_maxvertical_minvertical_max)。在这里,我们读取了图像,将其裁剪并使用imshow()在轴上显示。

小结

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

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

相关文章

  • python基础知识(一)变量与简单数据类型详解

    python基础知识(一)变量与简单数据类型详解

    这篇文章主要介绍了python变量与简单数据类型详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • Windows环境中Python应用服务自启动及其监控问题

    Windows环境中Python应用服务自启动及其监控问题

    这篇文章主要介绍了Windows环境中Python应用服务自启动及其监控问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • 部署django项目安装uwsgi出错的解决方法总结

    部署django项目安装uwsgi出错的解决方法总结

    uwsgi协议是一个uWSGI服务器自有的协议,它用于定义传输信息的类型(type of information),每一个uwsgi packet前4byte为传输信息类型描述,它与WSGI相比是两样东西,下面这篇文章主要给大家介绍了关于部署django项目安装uwsgi出错的解决方法,需要的朋友可以参考下
    2022-08-08
  • linux mint中搜狗输入法导致pycharm卡死的问题

    linux mint中搜狗输入法导致pycharm卡死的问题

    这篇文章主要介绍了linux mint中搜狗输入法导致pycharm卡死的问题,这篇文章给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • 如何用Python破解wifi密码过程详解

    如何用Python破解wifi密码过程详解

    这篇文章主要介绍了如何用Python破解wifi密码过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • tensorflow2.0如何实现cnn的图像识别

    tensorflow2.0如何实现cnn的图像识别

    这篇文章主要介绍了tensorflow2.0如何实现cnn的图像识别,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • PyQt5每天必学之拖放事件

    PyQt5每天必学之拖放事件

    这篇文章主要为大家详细介绍了PyQt5每天必学之拖放事件的相关资料,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-04-04
  • 浅谈Python实现Apriori算法介绍

    浅谈Python实现Apriori算法介绍

    这篇文章主要介绍了浅谈Python实现Apriori算法介绍,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-12-12
  • 利用jupyter网页版本进行python函数查询方式

    利用jupyter网页版本进行python函数查询方式

    这篇文章主要介绍了利用jupyter网页版本进行python函数查询方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • 基于Python采集爬取微信公众号历史数据

    基于Python采集爬取微信公众号历史数据

    这篇文章主要介绍了基于Python采集爬取微信公众号历史数据,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11

最新评论