以下哪种构建 matplotlib子图的方式是错误的 ( 已经 Import matplotlib. pyplot as plt ) ( ) A plt . figure ( ) . add _ subplot ( 221 ) B plt . figure ( ) . add _ subplot ( 2 , 2 , 1 , figsize = ( 15 , 8 ) ) C fig subplot _ arr = plt . subplots ( 2 , 2 , figsize = ( 15 , 8 ) ) D plt . subplot ( 221 )
以下哪种构建 matplotlib子图的方式是错误的 ( 已经 Import matplotlib. pyplot as plt ) ( )
A plt . figure ( ) . add _ subplot ( 221 )
B plt . figure ( ) . add _ subplot ( 2 , 2 , 1 , figsize = ( 15 , 8 ) )
C fig subplot _ arr = plt . subplots ( 2 , 2 , figsize = ( 15 , 8 ) )
D plt . subplot ( 221 )
题目解答
答案
A选项:plt.figure().add_subplot(221) 这是正确的方式,它在一个1x1的网格中添加一个子图。
B选项:plt.figure().add_subplot(2, 2, 1, figsize=(15, 8)) 这是错误的方式,add_subplot()函数不接受figsize参数,应该在创建figure时指定。
C选项:fig_subplot_arr = plt.subplots(2, 2, figsize=(15, 8)) 这是正确的方式,使用plt.subplots()函数可以直接创建包含多个子图的figure对象和axes对象数组。
D选项:plt.subplot(221) 这是正确的方式,它在一个1x1的网格中添加一个子图。
综上所述,错误的构建子图的方式是B选项 plt.figure().add_subplot(2, 2, 1, figsize=(15, 8))。
答案为:B plt.figure().add_subplot(2, 2, 1, figsize=(15, 8))。
解析
本题考查matplotlib中子图的正确构建方式,核心在于理解不同函数的参数使用限制。关键点如下:
add_subplot函数的参数限制:该函数不接受figsize参数,图像大小需在创建Figure对象时通过plt.figure()指定。plt.subplots()与plt.figure()+add_subplot的区别:前者可一步创建包含多个子图的Figure和Axes数组,后者需分步操作。plt.subplot()的自动管理特性:该函数会自动处理Figure的创建,无需显式调用plt.figure()。
选项A:plt.figure().add_subplot(221)
- 正确性:正确。
- 解析:
add_subplot(221)通过三位数参数指定子图位置(2行2列第1个),figsize未在此处设置,但可通过plt.figure(figsize=(w, h))提前配置。
选项B:plt.figure().add_subplot(2, 2, 1, figsize=(15, 8))
- 错误性:错误。
- 解析:
add_subplot不支持figsize参数。figsize应通过plt.figure(figsize=(w, h))在创建Figure时设置,而非在add_subplot中传递。
选项C:fig_subplot_arr = plt.subplots(2, 2, figsize=(15, 8))
- 正确性:正确。
- 解析:
plt.subplots()直接创建包含2x2子图的Figure和Axes数组,figsize参数有效。
选项D:plt.subplot(221)
- 正确性:正确。
- 解析:
plt.subplot会自动管理Figure的创建,参数221指定子图位置,与add_subplot功能类似。