Matplotlib子图与多子图

第1关:手动创建子图第2关 网格子图第3关:更复杂的排列方式

第1关:手动创建子图

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

图形的figsize为(12, 12);

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

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")

# ********* 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 *********#

文章来源

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: