Matplotlib 如何更改matshow()的figsize

Matplotlib 如何更改matshow()figsize

Matplotlib是Python中最常用的绘图库之一,用于创建绘图和数据可视化。通常,Matplotlib用于创建图形、直方图、功率谱、条形图、误差图、散点图、气泡图和图像等类型的图形。

但是Matplotlib的很多特性,也会让很多初学者觉得很难使用,其中之一就是如何更改matshow()figsize

阅读更多:Matplotlib 教程

什么是matshow?

matshow是Matplotlib库中的一个函数,用于展示一个二维数组。它将一个二维数组作为参数,并以马赛克状的方式展示它。

matplotlib中的默认figure.figsize[6.0, 4.0],但是如果需要更改matshow()figsize,该怎么做呢?

如何更改matshow的figsize?

更改matshow()figsize需要涉及到Matplotlib的一些核心概念,包括Figure、Axes和Subplot。在Matplotlib中,Figure指整个图形窗口,而Axes和Subplot是放置在Figure中的图表。可以有一个或多个Axes/Subplots。

最简单的方法是通过创建一个新Figure并将图表添加到其中来更改matshow()figsize。以下是代码示例:

import matplotlib.pyplot as plt
import numpy as np

# 创建一个4x4的二维数组
data = np.random.rand(4, 4)

# 创建一个新的Figure,figsize为(10.0, 6.0)
fig = plt.figure(figsize=(10.0, 6.0))

# 在Figure中添加一个子图
ax = fig.add_subplot(111)

# 使用matshow函数绘制矩阵
cax = ax.matshow(data, cmap='cool')

# 添加颜色条
fig.colorbar(cax)

# 显示图形
plt.show()

在上面的例子中,我们创建了一个4×4的随机数组,并通过plt.matshow()显示出来。然后我们创建了一个10.0 x 6.0的新Figure,并将子图添加到其中。最后,我们使用matshow()绘制了矩阵,并使用colorbar()添加了颜色条。通过plt.show()显示图形。

现在我们可以看到一个拥有10.0 x 6.0的新Figure,其中包含了我们的矩阵

我们还可以使用plt.subplots()函数来实现同样的效果,代码如下:

import matplotlib.pyplot as plt
import numpy as np

# 创建一个4x4的二维数组
data = np.random.rand(4, 4)

# 创建一个新的Figure和子图
fig, ax = plt.subplots(figsize=(10.0, 6.0))

# 使用matshow函数绘制矩阵
cax = ax.matshow(data, cmap='cool')

# 添加颜色条
fig.colorbar(cax)

# 显示图形
plt.show()

在这个例子中,我们创建了一个新的Figure和子图,并为Subplot设置了figsize参数。然后我们使用matshow()绘制了矩阵,并为图形添加了一个颜色条。再次使用plt.show()显示图形。

自动调整figsize

我们可以使用subplots_adjust()函数来控制Figure的大小和位置,以适应子图的大小。如果不指定figsize,matplotlib将根据子图/轴的大小的自动调整设置Figures的大小。下面是一个例子:

import matplotlib.pyplot as plt
import numpy as np

# 创建一个4x4的二维数组
data = np.random.rand(4, 4)

# 创建一个新的Figure和子图
fig, ax = plt.subplots()

# 使用matshow函数绘制矩阵
cax = ax.matshow(data, cmap='cool')

# 添加颜色条
fig.colorbar(cax)

# 调整子图/轴的位置和大小
fig.subplots_adjust(bottom=0.2, left=0.2)

# 显示图形
plt.show()

在这个例子中,我们创建了一个新的Figure和子图,并使用matshow()绘制了矩阵。然后我们添加了颜色条,并使用subplots_adjust()函数调整了子图/轴的大小和位置,以便其适应图形的大小。最后,我们使用plt.show()显示图形。

在这里,bottomleft是子图/轴与Figure底部和左边的距离,单位是Figure宽度和高度的比例。如果需要更多的控制,可以参考官方文档:https://matplotlib.org/stable/api/_as_gen/matplotlib.figure.Figure.html#matplotlib.figure.Figure.subplots_adjust

总结

在Matplotlib中更改matshow()figsize是一个常见的需求,我们可以通过创建新的Figure或使用subplots()函数来实现。当然,我们还可以使用subplots_adjust()函数来控制Figure的大小和位置,以适应子图/轴的大小。希望本文中的例子能够帮助你更好地掌握这个技巧。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程