Matplotlib数据可视化入门(三)

简介: 本文其实属于:Python的进阶之道【AIoT阶段一】的一部分内容,本篇把这部分内容单独截取出来,方便大家的观看,本文介绍Matplotlib数据可视化入门,后续还会单独发一篇 Matplotlib数据可视化高级 以及 Matplotlib数据可视化进阶 内容供读者学习。

2.风格和样式

2.1 颜色、线形、点形、线宽、透明度

🚩下图代表我们可以使用的颜色:

45.png接下来我们结合代码去进行讲解:

import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 2 * np.pi, 20)
y1 = np.sin(x)
y2 = np.cos(x)
# 设置颜色,线型,点型
# 绘制x,y1的图形,颜色是 indigo,线形为'-.',图像上点的类型是五边形'p
plt.plot(x, y1, color = 'indigo', ls = '-.', marker = 'p')
# 绘制x,y2的图形,颜色是 #FF00EE,线形为'-',图像上点的类型是圆圈'o'
plt.plot(x, y2, color = '#FF00EE', ls = '--', marker = 'o')
# 绘制x,y1+y2的图形,颜色是(0.2, 0.7, 0.2),线形为':',图像上点的类型是五角星'*'
plt.plot(x, y1 + y2, color = (0.2, 0.7, 0.2), marker = '*',ls = ':')
# 绘制x,y1+2*y2的图形,线宽为3,透明度为0.7,颜色为 orange
plt.plot(x, y1 + 2 * y2, linewidth = 3, alpha = 0.7, color = 'orange') # 线宽、透明度
# 参数连用
# 绘制x,2*y1-y2的图形,b代表color:blue;o代表marker:'o';--代表ls:'--'
plt.plot(x, 2 * y1 - y2, 'bo--') 

46.png

2.2 更多属性设置

import numpy as np
import pandas as pd
def f(x):
    return np.exp(-x) * np.cos(2 * np.pi * x)
x = np.linspace(0, 5, 50)
plt.figure(figsize = (9, 6))
plt.plot(x, f(x), color = 'purple', # 线颜色
         marker = 'o',              # 图像中的点的形状
         ls = '--',                 # 线形
         lw = 2,                    # 线宽
         alpha = 0.6,               # 透明度
         markerfacecolor = 'red',   # 点颜色
         markersize = 10,           # 图像中点的大小
         markeredgecolor = 'green', # 点边缘颜色
         markeredgewidth = 3)       # 点边缘宽度
plt.xticks(size = 18)               # 设置刻度大小
plt.yticks(size = 18)

47.png

3.训练场

3.1 绘制如下图形

48.png

要求:

  • 设置背景颜色为:灰色
  • 设置视图颜色为:灰色
  • 设置网格线颜色:白色
  • 设置网格线样式:虚线
  • 函数关系如下:y = np.sin(x + i * 0.5) * (7 - i)
  • 方程中的i可以给定范围1~6,表示图片中的6条线


import numpy as np
import matplotlib.pyplot as plt
plt.figure(figsize = (9, 6), facecolor = 'gray')
def fun(x):
    for i in range(1, 7):
        y = np.sin(x - 0.5 * i) * (7 - i)
        plt.plot(x, y)
# 画图范围从 0~14,分成200份
x=  np.linspace(0, 14, 200)
fun(x)
# 获取当前视图
ax = plt.gca()
ax.set_facecolor('gray')
# 添加网格线
plt.grid(color = 'white', linestyle = '--')

49.png

3.2 根据提供数据,进行分组聚合运算,绘制如下图形

image.png

要求:

  • 分组聚合求各个城市春夏秋冬的PM2.5的平均值
  • 对分组聚合结果进行数据重塑
  • 调整行索引顺序按照:北京、上海、广州、沈阳、成都
  • 调整列索引顺序:春夏秋冬
  • 使用DataFrame方法绘制条形图


首先我们需要下载一个 Excel 文件:

链接: https://pan.baidu.com/s/1ns8p3xD_EVS2GNNKApDtLg?pwd=eu4u

提取码: eu4u

下载完成之后,把该文件和我们的代码放到同一个文件夹下,这一操作我们在之前的博客中已经反复说到,这里就不再进行演示

注:代码处于运行中将显示:

image.png

下列代码运行几十秒甚至几分钟都是正常的,耐心等待运行结果即可。

我们先来加载我们的数据

%%time
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_excel('./PM2.5.xlsx')
display(df.head(10))
df.shape

50.png

# 根据 城市,季节进行分组,获取PM2.5的数据并求平均
df.groupby(by = ['城市', '季节'])['PM2.5'].mean()

image.png

数据看起来不太舒服,把它变成DataFrame  格式,并保留两位小数

df2 = df.groupby(by = ['城市', '季节'])[['PM2.5']].mean().round(2)
df2

51.png

数据还是看起来不美观,数据重塑:

df2 = df2.unstack(level = -1)
df2

image.png

删除掉 PM2.5:

df2.columns = df2.columns.droplevel(level = 0)
df2

image.png

调整列索引的顺序:

df2 = df2[list('春夏秋冬')]
df2 = df2.loc[['北京', '上海', '广州', '成都', '沈阳']]
df2

image.png

绘图:

plt.rcParams['font.family'] = 'KaiTi'
plt.rcParams['font.size'] = 18
df2.plot.bar(figsize = (12, 9))
plt.grid(color = 'gray', ls = '--')

52.png


目录
相关文章
|
数据可视化 数据挖掘 Linux
震撼发布!Python数据分析师必学,Matplotlib与Seaborn数据可视化实战全攻略!
在数据科学领域,数据可视化是连接数据与洞察的桥梁,能让复杂的关系变得直观。本文通过实战案例,介绍Python数据分析师必备的Matplotlib与Seaborn两大可视化工具。首先,通过Matplotlib绘制基本折线图;接着,使用Seaborn绘制统计分布图;最后,结合两者在同一图表中展示数据分布与趋势,帮助你提升数据可视化技能,更好地讲述数据故事。
384 1
|
数据可视化 数据挖掘 开发者
Pandas数据可视化:matplotlib集成(df)
Pandas 是 Python 中强大的数据分析库,Matplotlib 是常用的绘图工具。两者结合可方便地进行数据可视化,帮助理解数据特征和趋势。本文从基础介绍如何在 Pandas 中集成 Matplotlib 绘制图表,如折线图、柱状图等,并深入探讨常见问题及解决方案,包括图表显示不完整、乱码、比例不合适、多子图布局混乱、动态更新图表等问题,提供实用技巧和代码示例。掌握这些方法后,你将能更高效地处理数据可视化任务。
481 9
|
移动开发 数据可视化 数据挖掘
利用Python实现数据可视化:以Matplotlib和Seaborn为例
【10月更文挑战第37天】本文旨在引导读者理解并掌握使用Python进行数据可视化的基本方法。通过深入浅出的介绍,我们将探索如何使用两个流行的库——Matplotlib和Seaborn,来创建引人入胜的图表。文章将通过具体示例展示如何从简单的图表开始,逐步过渡到更复杂的可视化技术,帮助初学者构建起强大的数据呈现能力。
|
数据可视化 数据挖掘 API
Python中的数据可视化利器:Matplotlib与Seaborn对比解析
在Python数据科学领域,数据可视化是一个重要环节。它不仅帮助我们理解数据,更能够让我们洞察数据背后的故事。本文将深入探讨两种广泛使用的数据可视化库——Matplotlib与Seaborn,通过对比它们的特点、优劣势以及适用场景,为读者提供一个清晰的选择指南。无论是初学者还是有经验的开发者,都能从中找到有价值的信息,提升自己的数据可视化技能。
908 3
|
数据可视化 数据挖掘 开发者
数据可视化新纪元!Python + Matplotlib + Seaborn,让你的数据故事生动起来!
在这个数据可视化的新纪元,让我们充分发挥 Python 的优势,用精彩的图表讲述数据背后的故事,为决策提供有力的支持,为交流带来清晰的视角。
179 4
|
数据可视化 数据挖掘 API
使用Python进行数据可视化:探索Matplotlib和Seaborn库
【9月更文挑战第19天】在数据科学领域,将复杂的数据集转换成直观、易懂的图形是一项基本而关键的技能。本文旨在通过Python编程语言介绍两个强大的数据可视化库——Matplotlib和Seaborn,以及它们如何帮助数据分析师和研究人员揭示数据背后的故事。我们将从基础概念讲起,逐步深入到高级技巧,确保无论读者的背景如何,都能获得必要的知识和启发,以在自己的项目中实现有效的数据可视化。
|
数据可视化 数据挖掘 Python
惊呆了!Python数据分析师如何用Matplotlib、Seaborn秒变数据可视化大师?
在数据驱动时代,分析师们像侦探一样在数字海洋中寻找线索,揭示隐藏的故事。数据可视化则是他们的“魔法棒”,将复杂数据转化为直观图形。本文将带你探索Python数据分析师如何利用Matplotlib与Seaborn这两大神器,成为数据可视化大师。Matplotlib提供基础绘图功能,而Seaborn在此基础上增强了统计图表的绘制能力,两者结合使数据呈现更高效、美观。无论是折线图还是箱形图,这两个库都能助你一臂之力。
306 4
|
机器学习/深度学习 数据可视化 数据挖掘
数据可视化大不同!Python数据分析与机器学习中的Matplotlib、Seaborn应用新视角!
在数据科学与机器学习领域,数据可视化是理解数据和优化模型的关键。Python凭借其强大的可视化库Matplotlib和Seaborn成为首选语言。本文通过分析一份包含房屋面积、卧室数量等特征及售价的数据集,展示了如何使用Matplotlib绘制散点图,揭示房屋面积与售价的正相关关系;并利用Seaborn的pairplot探索多变量间的关系。在机器学习建模阶段,通过随机森林模型展示特征重要性的可视化,帮助优化模型。这两个库在数据分析与建模中展现出广泛的应用价值。
296 2
|
机器学习/深度学习 数据采集 监控
Pandas与Matplotlib:Python中的动态数据可视化
Pandas与Matplotlib:Python中的动态数据可视化
|
数据可视化 定位技术 Python
Python数据可视化--Matplotlib--入门
Python数据可视化--Matplotlib--入门
189 0