Matplotlib子图与多子图


一、第1关:手动创建子图

编程要求
根据提示,在右侧编辑器Begin-End处补充代码,根据输入数据绘制一个一行两列的折线图子图。子图一设置输入数据为x轴,输入数据的平方为y轴;设置颜色为红色;linestyle为–;线的宽度为1;透明的为0.3。子图二设置输入数据为x轴,输入数据的自然对数为y轴,具体可视化要求如下:

图形的figsize为(12, 12);

图形保存到Task1/img/T1.png。

测试说明
平台会对你编写的代码进行测试:

预期输出:你的答案与正确答案一致

提示:

#输入数据为x
plt.plot(x,x**2)
plt.plot(x,np.log(x))
开始你的任务吧,祝你成功!

示例代码如下:

import matplotlib
matplotlib.use("Agg")
import numpy as np
import matplotlib.pyplot as plt

def student(x):
    '''
    根据输入数据绘制不同的两个子图
    :param x: 输入数据,类型为array
    :return: None
    '''
    # ********* Begin *********#
    plt.figure(figsize=(12,12))
    plt.subplot(1, 2, 1)
    plt.plot(x,x**2,'--r',linewidth=1,alpha=0.3)
    plt.subplot(1, 2, 2)
    plt.plot(x,np.log(x))  
    plt.savefig("Task1/img/T1.png")
    plt.show()

    # ********* End *********#

在这里插入图片描述

二、第2关:网格子图

编程要求
在右侧编辑器Begin-End处补充代码,绘制不同一个两行四列的网格子图,并设置图形高度与宽度为0.4,具体可视化要求如下:

图形的figsize为(10, 10);

图形保存到Task2/img/T1.png。

测试说明
平台会对你编写的代码进行测试:

预期输出:你的答案与正确答案一致。

示例代码如下:

import matplotlib
matplotlib.use("Agg")
import numpy as np
import matplotlib.pyplot as plt

def student():
    '''
    绘制不同一个两行四列的网格子图,并设置图形高度与宽度为0.4
    :param: None
    :return: None
    '''
    # ********* Begin *********#
    fig=plt.figure(figsize=(10,10))
    fig.subplots_adjust(hspace=0.4, wspace=0.4)
    for i in range(1, 9):
        ax = fig.add_subplot(2, 4, i)   
    plt.savefig("Task2/img/T1.png")
    # ********* End *********#



在这里插入图片描述

三、第3关:更复杂的排列方式

编程要求
在右侧编辑器Begin-End处补充代码,绘制一个2行4列的不规则子图宽高间隔分别为0.4、0.3。第0行设置2个子图,第一个子图占3,第二个子图占1。第二行相反,具体可视化要求如下:

图形的figsize为(10, 10);

图形保存到Task3/img/T1.png。

测试说明
平台会对你编写的代码进行测试:

预期输出:你的答案与正确答案一致。
示例代码如下:

import matplotlib
matplotlib.use("Agg")
import matplotlib.pyplot as plt
import warnings
warnings.filterwarnings("ignore")
def student():
    '''
    绘制一个2行4列的不规则子图宽高间隔分别为0.4、0.3。
    第0行设置2个子图,第一个子图占3,第二个子图占1。第二行相反
    :param: None
    :return: None
    '''
    # ********* Begin *********#
    plt.figure(figsize=(10,10))
    grid = plt.GridSpec(2, 4, wspace=0.4, hspace=0.3)
    plt.subplot(grid[0, :3])
    plt.subplot(grid[0, 3:])
    plt.subplot(grid[1, 0])
    plt.subplot(grid[1, 1:])
    plt.savefig("Task3/img/T1.png")
    # ********* End *********#







在这里插入图片描述


  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值