【无标题】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()