数据分析三剑客【AIoT阶段一(下)】(十万字博文 保姆级讲解)—Matplotlib—数据可视化入门—基础知识(3)(三)

简介: 你好,感谢你能点进来本篇博客,请不要着急退出,相信我,如果你有一定的 Python 基础,想要学习 Python数据分析的三大库:numpy,pandas,matplotlib;这篇文章不会让你失望,本篇博客是 【AIoT阶段一(下)】 的内容:Python数据分析,

1.1.3 图例

🚩图例就是在同一个表中显示多个图,我们要区分它们所对应的小框框:

67.png

import numpy as np
import matplotlib.pyplot as plt
# x轴
x = np.linspace(0, 2 * np.pi)
# y轴
y = np.sin(x) # 正弦
# 绘制线形图
# 调整尺寸
plt.figure(figsize=(9,6))
# 绘制正弦波
plt.plot(x,y)
# 绘制余弦波
plt.plot(x,np.cos(x))
plt.legend(['Sin', 'Cos'],fontsize = 18, # 字体大小
           loc = 'center',    # 图例居中
           ncol = 2,          # 图例展示时2个为一行
           # 设置图例的位置 [x,y,width,height]
           bbox_to_anchor = [0, 1.05, 1, 0.2]) 
           # 我们规定图形左下角为(0,0),右上角为(1,1)
           # 表示图例的位置在(0,1.05)的位置,且我们设置了居中

68.png

1.1.4 脊柱移动

🚩脊柱移动翻译成大白话就是黑色边框的移动

import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-np.pi, np.pi, 50)
plt.rcParams['axes.unicode_minus'] = False
plt.figure(figsize = (9 ,6))
# plot绘制了两个图形,x-y成对出现就可以!!!
plt.plot(x,np.sin(x),x,np.cos(x))
# 获取当前视图
ax = plt.gca()
# 右边和上面脊柱消失,白色就是消失
ax.spines['right'].set_color('white') # 白色
ax.spines['top'].set_color('#FFFFFF') # 白色
# 设置下面左边脊柱位置,data表示数据,axes表示相对位置0~1
ax.spines['bottom'].set_position(('data', 0))  # 中间(竖直)
ax.spines['left'].set_position(('data' , 0))   # 中间(水平)
plt.yticks([-1,0,1],labels = ['-1', '0', '1'],fontsize = 18)
plt.xticks([-np.pi, -np.pi / 2, np.pi / 2, np.pi],
           labels = [r'$-\pi$', r'$-\frac{\pi}{2}$', r'$\frac{\pi}{2}$', r'$\pi$'],
           fontsize = 18)

69.png

1.1.5 图片保存

🚩我们可以把我们绘制好的图形进行保存:

import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-np.pi, np.pi, 50)
plt.rcParams['axes.unicode_minus'] = False
plt.figure(figsize = (9 ,6))
# plot绘制了两个图形,x-y成对出现就可以!!!
plt.plot(x,np.sin(x),x,np.cos(x))
# 获取当前视图
ax = plt.gca()
# 右边和上面脊柱消失,白色就是消失
ax.spines['right'].set_color('white') # 白色
ax.spines['top'].set_color('#FFFFFF') # 白色
# 设置下面左边脊柱位置,data表示数据,axes表示相对位置0~1
ax.spines['bottom'].set_position(('data', 0))  # 中间(竖直)
ax.spines['left'].set_position(('data' , 0))   # 中间(水平)
plt.yticks([-1,0,1],labels = ['-1', '0', '1'],fontsize = 18)
plt.xticks([-np.pi, -np.pi / 2, np.pi / 2, np.pi],
           labels = [r'$-\pi$', r'$-\frac{\pi}{2}$', r'$\frac{\pi}{2}$', r'$\pi$'],
           fontsize = 18)
# 图片保存到当前路径下,命名为 1.png
plt.savefig('./1.png')

70.png

我们在保存的时候,可以修改屏幕像素密度:dpi(默认为100)

import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-np.pi, np.pi, 50)
plt.rcParams['axes.unicode_minus'] = False
plt.figure(figsize = (9 ,6))
# plot绘制了两个图形,x-y成对出现就可以!!!
plt.plot(x,np.sin(x),x,np.cos(x))
# 获取当前视图
ax = plt.gca()
# 右边和上面脊柱消失,白色就是消失
ax.spines['right'].set_color('white') # 白色
ax.spines['top'].set_color('#FFFFFF') # 白色
# 设置下面左边脊柱位置,data表示数据,axes表示相对位置0~1
ax.spines['bottom'].set_position(('data', 0))  # 中间(竖直)
ax.spines['left'].set_position(('data' , 0))   # 中间(水平)
plt.yticks([-1,0,1],labels = ['-1', '0', '1'],fontsize = 18)
plt.xticks([-np.pi, -np.pi / 2, np.pi / 2, np.pi],
           labels = [r'$-\pi$', r'$-\frac{\pi}{2}$', r'$\frac{\pi}{2}$', r'$\pi$'],
           fontsize = 18)
# 图片保存到当前路径下,命名为 2.png,像素密度设为 300
plt.savefig('./2.png', dpi = 300)

image.png

从两张图片的大小上其实就能看出清晰度的高低,因为保存的是同一张图

当然,我们也可以保存成pdf

import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-np.pi, np.pi, 50)
plt.rcParams['axes.unicode_minus'] = False
plt.figure(figsize = (9 ,6))
# plot绘制了两个图形,x-y成对出现就可以!!!
plt.plot(x,np.sin(x),x,np.cos(x))
# 获取当前视图
ax = plt.gca()
# 右边和上面脊柱消失,白色就是消失
ax.spines['right'].set_color('white') # 白色
ax.spines['top'].set_color('#FFFFFF') # 白色
# 设置下面左边脊柱位置,data表示数据,axes表示相对位置0~1
ax.spines['bottom'].set_position(('data', 0))  # 中间(竖直)
ax.spines['left'].set_position(('data' , 0))   # 中间(水平)
plt.yticks([-1,0,1],labels = ['-1', '0', '1'],fontsize = 18)
plt.xticks([-np.pi, -np.pi / 2, np.pi / 2, np.pi],
           labels = [r'$-\pi$', r'$-\frac{\pi}{2}$', r'$\frac{\pi}{2}$', r'$\pi$'],
           fontsize = 18)
# 图片保存到当前路径下,格式为 pdf,命名为 1.pdf
plt.savefig('./1.pdf')

image.png

71.png

如果你觉得白底太过于单调,我们在设置字体大小的时候可以设置颜色(改变边框的颜色):

# 设置一个绿边框
plt.figure(figsize = (9 ,6), facecolor = 'green')

image.png

如果我们想改变的是底色,我们可以在获取视图后进行更改:

# 获取当前视图
ax = plt.gca()
# 底色改为绿色
ax.set_facecolor('green')

image.png

查看我们可以设置哪些颜色可以编写代码:

# 查看所有颜色
plt.colormaps()

image.png



目录
相关文章
|
1月前
|
机器学习/深度学习 数据可视化 数据挖掘
使用Python进行数据分析的入门指南
本文将引导读者了解如何使用Python进行数据分析,从安装必要的库到执行基础的数据操作和可视化。通过本文的学习,你将能够开始自己的数据分析之旅,并掌握如何利用Python来揭示数据背后的故事。
|
2月前
|
机器学习/深度学习 数据可视化 数据挖掘
使用Python进行数据分析的入门指南
【10月更文挑战第42天】本文是一篇技术性文章,旨在为初学者提供一份关于如何使用Python进行数据分析的入门指南。我们将从安装必要的工具开始,然后逐步介绍如何导入数据、处理数据、进行数据可视化以及建立预测模型。本文的目标是帮助读者理解数据分析的基本步骤和方法,并通过实际的代码示例来加深理解。
63 3
|
7天前
|
数据可视化 数据挖掘 开发者
Pandas数据可视化:matplotlib集成(df)
Pandas 是 Python 中强大的数据分析库,Matplotlib 是常用的绘图工具。两者结合可方便地进行数据可视化,帮助理解数据特征和趋势。本文从基础介绍如何在 Pandas 中集成 Matplotlib 绘制图表,如折线图、柱状图等,并深入探讨常见问题及解决方案,包括图表显示不完整、乱码、比例不合适、多子图布局混乱、动态更新图表等问题,提供实用技巧和代码示例。掌握这些方法后,你将能更高效地处理数据可视化任务。
38 9
|
2月前
|
移动开发 数据可视化 数据挖掘
利用Python实现数据可视化:以Matplotlib和Seaborn为例
【10月更文挑战第37天】本文旨在引导读者理解并掌握使用Python进行数据可视化的基本方法。通过深入浅出的介绍,我们将探索如何使用两个流行的库——Matplotlib和Seaborn,来创建引人入胜的图表。文章将通过具体示例展示如何从简单的图表开始,逐步过渡到更复杂的可视化技术,帮助初学者构建起强大的数据呈现能力。
|
3月前
|
数据可视化 数据挖掘 大数据
Python 数据分析入门:从零开始处理数据集
Python 数据分析入门:从零开始处理数据集
|
3月前
|
数据采集 数据可视化 数据挖掘
使用Python进行数据分析:从入门到实践
使用Python进行数据分析:从入门到实践
73 2
|
3月前
|
机器学习/深度学习 数据可视化 数据挖掘
使用Python进行数据分析的入门指南
【9月更文挑战第33天】本文旨在为初学者提供一个关于使用Python进行数据分析的全面概述。我们将从基本的安装和设置开始,逐步介绍数据处理、数据可视化以及机器学习的基本概念和应用。文章将通过实际代码示例来展示如何使用Python及其相关库来解决常见的数据分析问题。
|
3月前
|
数据采集 机器学习/深度学习 数据可视化
深入浅出:用Python进行数据分析的入门指南
【10月更文挑战第21天】 在信息爆炸的时代,掌握数据分析技能就像拥有一把钥匙,能够解锁隐藏在庞大数据集背后的秘密。本文将引导你通过Python语言,学习如何从零开始进行数据分析。我们将一起探索数据的收集、处理、分析和可视化等步骤,并最终学会如何利用数据讲故事。无论你是编程新手还是希望提升数据分析能力的专业人士,这篇文章都将为你提供一条清晰的学习路径。
|
3月前
|
数据可视化 数据挖掘 API
Python中的数据可视化利器:Matplotlib与Seaborn对比解析
在Python数据科学领域,数据可视化是一个重要环节。它不仅帮助我们理解数据,更能够让我们洞察数据背后的故事。本文将深入探讨两种广泛使用的数据可视化库——Matplotlib与Seaborn,通过对比它们的特点、优劣势以及适用场景,为读者提供一个清晰的选择指南。无论是初学者还是有经验的开发者,都能从中找到有价值的信息,提升自己的数据可视化技能。
165 3
|
3月前
|
数据可视化 定位技术 Python
Python数据可视化--Matplotlib--入门
Python数据可视化--Matplotlib--入门
34 0