Python figure参数及subplot子图绘制代码

1. Python figure参数介绍

在Python绘图中,figure是指绘图的整个画布。常用的一些参数如下:

figsize:指定画布的大小,单位为英寸。例如,figsize=(8, 6)表示画布宽8英寸、高6英寸。

dpi:指定画布的分辨率,默认为100。

facecolor:指定画布的背景颜色,默认为白色。

edgecolor:指定画布边框的颜色,默认为白色。

2. Python subplot绘制子图

subplot函数可以将画布划分为多个子图,方便在一个画布上绘制多个图形。

2.1 subplot基本使用方法

subplot函数的基本使用方法如下:

import matplotlib.pyplot as plt

plt.subplot(nrows, ncols, index)

其中,nrows表示子图的行数,ncols表示子图的列数,index表示子图的索引。

使用方法示例:

import matplotlib.pyplot as plt

plt.subplot(2, 2, 1)

plt.plot([0, 1], [0, 1], 'r--')

plt.subplot(2, 2, 2)

plt.plot([0, 1], [0, 1], 'g--')

plt.subplot(2, 2, 3)

plt.plot([0, 1], [0, 1], 'b--')

plt.subplot(2, 2, 4)

plt.plot([0, 1], [0, 1], 'p--')

运行结果如下:

2.2 subplot调整子图间距

使用subplots_adjust(left=None, bottom=None, right=None, top=None, wspace=None, hspace=None)函数可以调整子图之间的间距:

leftrightbottomtop分别指定左、右、下、上边距的宽度,单位为子图宽度的百分比。

wspacehspace分别指定子图之间的水平和垂直间距,单位为子图宽度的百分比。

例如,使用plt.subplots_adjust(wspace=0.3, hspace=0.3)可以将子图之间的间距设为子图宽度的30%。完整示例代码如下:

import matplotlib.pyplot as plt

plt.subplot(2, 2, 1)

plt.plot([0, 1], [0, 1], 'r--')

plt.subplot(2, 2, 2)

plt.plot([0, 1], [0, 1], 'g--')

plt.subplot(2, 2, 3)

plt.plot([0, 1], [0, 1], 'b--')

plt.subplot(2, 2, 4)

plt.plot([0, 1], [0, 1], 'p--')

plt.subplots_adjust(wspace=0.3, hspace=0.3)

运行结果如下:

2.3 subplot绘制多行多列子图

通过调整nrowsncols的数值可以绘制多行多列的子图。

例如,设置nrows=3、ncols=2可以绘制3行2列的子图。完整示例代码如下:

import numpy as np

import matplotlib.pyplot as plt

x = np.arange(0, 10, 0.1)

y1 = np.sin(x)

y2 = np.cos(x)

y3 = np.tan(x)

plt.subplot(3, 2, 1)

plt.plot(x, y1)

plt.subplot(3, 2, 2)

plt.plot(x, y2)

plt.subplot(3, 2, 3)

plt.plot(x, y3)

plt.subplot(3, 2, 4)

plt.plot(x, y1)

plt.subplot(3, 2, 5)

plt.plot(x, y2)

plt.subplot(3, 2, 6)

plt.plot(x, y3)

plt.subplots_adjust(wspace=0.3, hspace=0.5)

运行结果如下:

3. temperature=0.6,绘制figure和subplot示例

在绘制过程中,我们可以使用plt.rcParams['figure.figsize']来设置figure大小,并使用plt.subplots_adjust(wspace=0.3, hspace=0.3)调整子图之间的间距。

完整示例代码如下:

import numpy as np

import matplotlib.pyplot as plt

# 设置figure大小

plt.rcParams['figure.figsize'] = (10.0, 8.0)

# 定义x和y

x = np.arange(0, 10, 0.1)

y1 = np.sin(x)

y2 = np.cos(x)

# 绘制子图1

plt.subplot(2, 1, 1)

plt.plot(x, y1, label='sin(x)')

plt.xlabel('x')

plt.ylabel('y')

plt.legend()

# 绘制子图2

plt.subplot(2, 1, 2)

plt.plot(x, y2, label='cos(x)')

plt.xlabel('x')

plt.ylabel('y')

plt.legend()

# 调整子图间距

plt.subplots_adjust(wspace=0.3, hspace=0.3)

# 显示图像

plt.show()

运行结果如下:

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。

后端开发标签