使用matplotlib.pyplot绘制多个图片和图表

使用matplotlib.pyplot绘制多个图片和图表

import matplotlib.pyplot as plt
import numpy as np

''' 第一个,放图片 '''
plt.figure(1)  # 创建第1个图形
plt.sca(plt.subplot(3, 3, 1))  # 分成3行3列,并选择第1个位置
img0 = plt.imread("Data/color/citrus_fruits_01.png")
plt.imshow(img0)

plt.sca(plt.subplot(3, 3, 2))  # 分成3行3列,并选择第2个位置
img1 = plt.imread("Data/color/citrus_fruits_05.png")
plt.imshow(img1)

plt.sca(plt.subplot(3, 3, 3))  # 分成3行3列,并选择第3个位置
img2 = plt.imread("Data/color/clamp_pile_04.png")
plt.imshow(img2)

plt.sca(plt.subplot(3, 3, 4))  # 分成3行3列,并选择第4个位置
img3 = plt.imread("Data/color/pills_test_03.png")
plt.imshow(img3)

plt.sca(plt.subplot(3, 3, 5))  # 分成3行3列,并选择第5个位置
img4 = plt.imread("Data/color/pizza_01.png")
plt.imshow(img4)

plt.sca(plt.subplot(3, 3, 6))  # 分成3行3列,并选择第6个位置
img5 = plt.imread("Data/color/yogurt_02.png")
plt.imshow(img5)

plt.sca(plt.subplot(3, 3, 8))  # 分成3行3列,并选择第8个位置,最后一个放中间
img6 = plt.imread("Data/color/yogurt_model_03_big.png")
plt.imshow(img6)

''' 第二个,放曲线图 '''
plt.figure(2)  # 创建第2个图形
plt.xlabel("x")
plt.ylabel("f(x)")
x = [0.0, 10.0, 20.0, 30.0]  # 返回一个有终点和起点的固定步长(0.1)的数列
y = [0.0, 110.0, 420.0, 930.0]  # 返回一个有终点和起点的固定步长(0.1)的数列
plt.plot(x, y)
plt.text(15, 400, 'x²+x', fontsize=14)

''' 显示plt '''
plt.show()  # 将plt显示出来


结果
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Seaborn 提供了一些方法来在同一个布上绘制多张。 1. subplot():可以使用 subplot() 函数来在同一个布上绘制多张,它接受三个参数:行数、列数和当前的编号。 2. subplots():也可以使用 subplots() 函数来创建一个布和多个,它接受两个参数:行数和列数。 3. FacetGrid:还可以使用 FacetGrid 对象来在同一个布上绘制多张,它接受三个参数:数据、行变量和列变量。 例如: ``` import seaborn as sns import matplotlib.pyplot as plt # Create a figure and three subplots fig, (ax1, ax2, ax3) = plt.subplots(1, 3, figsize=(12, 4)) # Draw a plot on each subplot sns.lineplot(x=[1, 2, 3], y=[4, 5, 6], ax=ax1) sns.scatterplot(x=[1, 2, 3], y=[2, 3, 4], ax=ax2) sns.barplot(x=[1, 2, 3], y=[3, 2, 1], ax=ax3) # Show the figure plt.show() ``` 上述代码创建了一个包含三个子图表,并在每个子绘制了不同的形。 ### 回答2: Seaborn是一个Python的数据可视化库,提供了丰富的统计图表绘制和优美的配色方案。要绘制多张并展示在一个布上,可以使用Seaborn库的FacetGrid类和matplotlib库的subplots函数。 首先,我们导入需要的库。 ```python import seaborn as sns import matplotlib.pyplot as plt ``` 接下来,准备数据集。假设我们有一个数据集df,包含两个数值型变量x和y。 ```python import pandas as pd data = {'x': [1, 2, 3, 4, 5], 'y': [10, 20, 30, 40, 50]} df = pd.DataFrame(data) ``` 然后,使用Seaborn的FacetGrid类创建一个带有2x2子网格的布。 ```python g = sns.FacetGrid(df, col='x', col_wrap=2) ``` 接下来,使用map函数绘制。map函数将绘函数(例如sns.lineplot)应用于数据集的每个子集。 ```python g.map(sns.lineplot, 'x', 'y') ``` 最后,使用matplotlib的subplots_adjust函数调整子之间的间距,并展示布。 ```python plt.subplots_adjust(top=0.9, bottom=0.1, left=0.1, right=0.9, hspace=0.5, wspace=0.4) plt.show() ``` 以上代码将绘制一个带有2x2子网格的布,每个子都是通过x变量将y变量绘制成线。每个子的数据分别来自df数据集中对应x的子集。 希望这个回答对您有帮助! ### 回答3: Seaborn是一个功能强大的Python数据可视化库,可以轻松绘制漂亮的统计图表。如果想要在一个布上展示多张Seaborn图表,可以使用Matplotlib库进行协助。 首先,我们需要导入seaborn和matplotlib库,并且准备一个包含多张图表的数据集。假设我们有一个名为data的DataFrame,其中包含多个变量。 import seaborn as sns import matplotlib.pyplot as plt # 准备数据集,这里假设有三个变量,分别为var1、var2和var3 data = pd.DataFrame({'var1': [1, 2, 3, 4, 5], 'var2': [6, 7, 8, 9, 10], 'var3': [11, 12, 13, 14, 15]}) 接下来,我们可以使用seaborn绘制每个变量的图表,然后使用Matplotlib绘制一个布来展示这些图表。 # 绘制第一个图表 sns.lineplot(x='index', y='var1', data=data.reset_index()) plt.show() # 绘制第二个图表 sns.barplot(x='index', y='var2', data=data.reset_index()) plt.show() # 绘制第三个图表 sns.scatterplot(x='index', y='var3', data=data.reset_index()) plt.show() 最后,我们可以使用Matplotlib创建一个布,并将各个图表放置在布上。 # 创建布 fig, axs = plt.subplots(1, 3, figsize=(12, 4)) # 一行三列的布 # 将图表放置在布上 sns.lineplot(x='index', y='var1', data=data.reset_index(), ax=axs[0]) sns.barplot(x='index', y='var2', data=data.reset_index(), ax=axs[1]) sns.scatterplot(x='index', y='var3', data=data.reset_index(), ax=axs[2]) # 展示布 plt.show() 通过这种方式,我们可以在一个布上同时展示多张Seaborn图表。你可以根据自己的需求调整图表的样式、大小和布局等参数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值