当前位置: 首页 > news >正文

【无标题】matplotlib与seaborn数据库

matplotlib数据库

imsave()
用途:将生成的图像保存到指定的目录中
参数:matplotlib.pyplot.imsave(fname, arr, **kwargs)
fname:保存图像的文件名,可以是相对路径或绝对路径
arr:表示图像的NumPy数组
kwargs:可选参数,用于指定保存的图像格式以及图像质量等参数
示例代码:

import matplotlib.pyplot as plt
import numpy as np# 创建一个二维的图像数据
img_data = np.random.random((100, 100))# 显示图像
plt.imshow(img_data)# 保存图像到磁盘上
plt.imsave('runoob-test.png', img_data)

创建显示并保存图像

import matplotlib.pyplot as plt
import numpy as np# 创建一幅灰度图像
img_gray = np.random.random((100, 100))# 创建一幅彩色图像
img_color = np.zeros((100, 100, 3))
img_color[:, :, 0] = np.random.random((100, 100))
img_color[:, :, 1] = np.random.random((100, 100))
img_color[:, :, 2] = np.random.random((100, 100))# 显示灰度图像
plt.imshow(img_gray, cmap='gray')# 保存灰度图像到磁盘上
plt.imsave('test_gray.png', img_gray, cmap='gray')# 显示彩色图像
plt.imshow(img_color)# 保存彩色图像到磁盘上
plt.imsave('test_color.jpg', img_color)
imrade()

用途:用于从图像文件中读取图像数据,返回一个 numpy.ndarray 对象,其形状是 (nrows, ncols, nchannels),表示读取的图像的行数、列数和通道数。
格式为:matplotlib.pyplot.imread(fname, format=None)
fname:路径,相对路径或者绝对路径
format:指定了图像文件的格式,如果不指定,则默认根据文件后缀名来自动识别格式

import matplotlib.pyplot as plt# 读取图像文件
img = plt.imread('map.jpeg')# 显示图像
plt.imshow(img)
plt.show()

通过numpy数组来更改图像
示例代码:

import matplotlib.pyplot as pltimg_array = plt.imread('tiger.jpeg')
tiger = img_array / 255
# print(tiger)
# 显示图像
plt.figure(figsize=(10, 6))
for i in range(1, 5):plt.subplot(2, 2, i)x = 1 - 0.2 * (i - 1)plt.axis('off')  # hide coordinate axesplt.title('x={:.1f}'.format(x))plt.imshow(tiger * x)plt.show()

  我们也可以通过修改numpy来裁剪图片
示例代码:

import matplotlib.pyplot as pltimg_array = plt.imread('tiger.jpeg')
# 显示图像
plt.figure(figsize=(6, 6))
plt.imshow(img_array[:300, 100:400, :])  
plt.axis('off')
plt.show()

  也可以通过修改numpy数组来修改图像的颜色
示例代码:

import matplotlib.pyplot as plt# 读取图像文件
img_array = plt.imread('tiger.jpeg')
tiger = img_array  # 显示图像(处理为仅保留红色通道)
red_tiger = tiger.copy()
# 将绿色和蓝色通道置 0,只保留红色通道
red_tiger[:, :, [1, 2]] = 0  plt.figure(figsize=(10, 10))
plt.imshow(red_tiger)
plt.axis('off')  # 隐藏坐标轴
plt.show()

seaborn数据库

简介:

Seaborn 是一个建立在 Matplotlib 基础之上的 Python 数据可视化库,专注于绘制各种统计图形,以便更轻松地呈现和理解数据

安装:

pip install seaborn -i 清华园镜像网址
conda install seaborn
直接在pycharm里下载

导入:

import seaborn as sns

函数:

sns.scatterplot()
用途:绘制散点图
示例代码:

import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd# 创建一个示例数据框
data = {'A': [1, 2, 3, 4, 5], 'B': [5, 4, 3, 2, 1]}
df = pd.DataFrame(data)# 绘制散点图
sns.scatterplot(x='A', y='B', data=df)
plt.show()
sns.lineplot()


用途:绘制折线图

import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd# 创建一个示例数据框
data = {'X': [1, 2, 3, 4, 5], 'Y': [5, 4, 3, 2, 1]}
df = pd.DataFrame(data)# 绘制折线图
sns.lineplot(x='X', y='Y', data=df)
plt.show()
sns.barplot()


用途:绘制柱形图

import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd# 创建一个示例数据框
data = {'Category': ['A', 'B', 'C'], 'Value': [3, 7, 5]}
df = pd.DataFrame(data)# 绘制柱状图
sns.barplot(x='Category', y='Value', data=df)
plt.show()
sns.boxplot()


用途:绘制箱型图

import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd# 创建一个示例数据框
data = {'Category': ['A', 'A', 'B', 'B', 'C', 'C'], 'Value': [3, 7, 5, 9, 2, 6]}
df = pd.DataFrame(data)# 绘制箱线图
sns.boxplot(x='Category', y='Value', data=df)
plt.show()
sns.heatmap()

用途:热图,展示相关性矩阵。

import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd# 创建一个示例数据框
data = {'A': [1, 2, 3, 4, 5], 'B': [5, 4, 3, 2, 1]}
df = pd.DataFrame(data)# 创建一个相关性矩阵
correlation_matrix = df.corr()# 使用热图可视化相关性矩阵
sns.heatmap(correlation_matrix, annot=True, cmap='coolwarm', fmt=".2f")
plt.show()
sns.violinplot()

用途:小提琴图,用于显示分布的形状和密度估计,结合了箱线图和核密度估计

import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd# 创建一个示例数据框
data = {'Category': ['A', 'A', 'B', 'B', 'C', 'C'], 'Value': [3, 7, 5, 9, 2, 6]}
df = pd.DataFrame(data)# 绘制小提琴图
sns.violinplot(x='Category', y='Value', data=df)
plt.show()

练习

http://www.dtcms.com/a/326841.html

相关文章:

  • 基于FPGA的热电偶测温数据采集系统,替代NI的产品(二)总体设计方案
  • 嵌入式硬件中AI硬件设计方法与技巧
  • java内部类-匿名内部类
  • 编程技术杂谈4.0
  • Dify入门指南(2):5 分钟部署 Dify:云服务 vs 本地 Docker
  • 做调度作业提交过程简单介绍一下
  • 第二十九天(文件io)
  • Android视频编辑方案测评:轻量化剪辑工具的性能表现
  • 基于51单片机红外遥控定时开关智能家电插座设计
  • golang 基础案例_02
  • 算法知识笔记
  • 学习日志31 python
  • 【C++】STL——priority_queue的使用与底层模拟实现
  • 查看 php 可用版本
  • Nestjs框架: RBAC基于角色的权限控制模型初探
  • STM32TIM定时器
  • 请求报文和响应报文(详细讲解)
  • Wed前端第二次作业
  • C语言增删查改实战:高效管理顺序表
  • docker安装searxng
  • monorepo架构设计方案
  • CICD部署流程详解文档笔记
  • 在 Ubuntu 中docker容器化操作来使用新建的 glibc-2.32
  • [激光原理与应用-244]:设计 - 光学 - CLBO晶体使用一段时间后,输出功率就会下降,原因有哪些?
  • OpenBMC中的snk-psu-manager:架构、原理与应用深度解析
  • 高防IP能为网站防御哪些网络攻击?
  • 从零开始学JAVAWeb-5
  • 腾讯云Edgeone限时免费
  • for循环详解与实战技巧
  • Edit Distance