Matplotlib 如何调整颜色条的位置

Matplotlib 如何调整颜色条的位置

调整Matplotlib颜色条的位置对于生成准确和易于理解的图表和绘图是至关重要的。本文介绍了一些常见的调整Matplotlib颜色条位置的方法。颜色条对于理解子图或绘图的意义至关重要。有时,颜色条可能与绘图的其他元素重叠,使得准确解读数据变得困难。我们将讨论两种修改Matplotlib颜色条位置的方法,其中包括使用pad,aspect和reduce参数。

Matplotlib

Matplotlib是一个主要用于绘制Python编程语言和数值数学扩展NumPy的图形和绘图的库。Tkinter,wxPython,Qt和GTK GUI工具包可以包含使用其面向对象的API的图表。matplotlib.pyplot是一组命令式方法的集合,可以使matplotlib的使用方式类似于MATLAB。每个pyplot函数以某种方式更改图形,无论是通过添加绘图区域,绘制线条,添加标签等。

Pyplot是Python matplotlib实用程序的子模块。它是一个包含一组用于绘制2D图形的函数和方法的Python库。

颜色条

颜色条是一个沿着Matplotlib图表一侧延伸的水平条,用作图表中显示的颜色的图例。matplotlib.pyplot模块中的colorbar()函数将颜色比例尺添加到图表中。Matplotlib提供了广泛的颜色条定制选项。颜色条是plt.Axes的一个实例,因此所有的坐标轴和标记格式化技术都适用。我们可以通过设置extend属性,缩小颜色范围,并指定颜色条顶部和底部的三角箭头来指示超出范围的值。

语法

matplotlib.pyplot.colorbar(mappable=None, cax=None, ax=None)

解释

  • mappable − 它将默认设置为当前图像,但默认情况下其值为None。

  • cax − 它定义了色条将要绘制的轴。

  • ax − 取出父轴以为新的色条轴腾出空间。如果给定了一组轴,它们将被缩小以为色条轴腾出空间。

调整Matplotlib色条的位置

主要有三种方法可以调整Matplotlib色条的位置,我们将看到四个位置,即左、右、下和上,它们是−

  • 方法 1 − 使用pad和aspect参数。

  • 方法 2 − 使用location参数和cax参数。

  • 方法 3 − 使用cax参数。

默认情况下,色条位于左侧。让我们看一个正常色条的示例。

示例

import matplotlib.pyplot as p
import numpy as n

# generate some data
x = n.linspace(0, 20, 100)
y = n.linspace(0, 20, 100)
X, Y = n.meshgrid(x, y)
Z = n.sin(X) * n.cos(Y)

# create a horizontal subplot and plot the data
f, a = p.subplots()
i = a.imshow(Z, cmap='jet')

# add a colorbar and adjust the position
cbar = fig.colorbar(i, ax=a)

# display the plot
p.show()

输出

Matplotlib 如何调整颜色条的位置

使用pad和aspect参数

pad参数允许我们改变colorbar离图像的距离。aspect参数根据宽度和高度设置colorbar的大小。通过改变这些参数,我们可以改变colorbar的位置。

例如,我们可以使用以下代码来改变水平子图中colorbar的位置,此处colorbar的位置在图像下方-

colorbar是表示在图表中显示的颜色线条,所以在这个示例中我们将看到如何在图像下方设置colorbar的位置,借助pad参数和orientation参数,其中参数orientation的值是horizontal。

示例

import matplotlib.pyplot as p
import numpy as n

# generate some data
x = n.linspace(0, 20, 100)
y = n.linspace(0, 20, 100)
X, Y = n.meshgrid(x, y)
Z = n.sin(X) * n.cos(Y)

# create a horizontal subplot and plot the data
f, a = p.subplots()
i = a.imshow(Z, cmap='jet')

# add a colorbar and adjust the position
cbar = fig.colorbar(i, ax=a, orientation='horizontal', pad=0.3, aspect=35)

# display the plot
p.show()

输出

Matplotlib 如何调整颜色条的位置

在上述程序中,我们使用ax.imshow()绘制了数据并创建了一个水平子图。然后,我们使用函数f.colorbar()添加了一个颜色条,并使用pad和aspect参数调整了其位置。

使用位置参数

用户可以指定轴的位置,并通过”位置”参数将颜色条与当前显示的轴关联起来。当对多个轴进行着色时,使用位置参数创建颜色条。

示例

import matplotlib.pyplot as p
import numpy as n

# generate some data
x = n.linspace(0, 20, 100)
y = n.linspace(0, 20, 100)
X, Y = n.meshgrid(x, y)
Z = n.sin(X) * n.cos(Y)

# create a horizontal subplot and plot the data
f, a = p.subplots()
i = a.imshow(Z, cmap='jet')

# add a colorbar and adjust the position
cbar = fig.colorbar(i, ax = [a], location = 'left')

# display the plot
p.show()

输出

Matplotlib 如何调整颜色条的位置

使用cax参数

它定义了颜色条将要绘制在哪个轴上。

以下是将颜色条位置设置为顶部的程序。

示例

import matplotlib.pyplot as p

from mpl_toolkits.axes_grid1 import make_axes_locatable
import numpy as n

# generate some data
x = n.linspace(0, 20, 100)

y = n.linspace(0, 20, 100)
X, Y = n.meshgrid(x, y)
Z = n.sin(X) * n.cos(Y)
# create chart
fig, ax = p.subplots()
im = ax.imshow(Z)
ax.set_xlabel('x-axis label')
ax.set_title('Colorbar above chart')

# add color bar below chart
divider = make_axes_locatable(ax)
cax = divider.new_vertical(size = '5%', pad = 0.5)
fig.add_axes(cax)
fig.colorbar(im, cax = cax, orientation = 'horizontal')

plt.show()

输出

Matplotlib 如何调整颜色条的位置

结论

总之,调整Matplotlib颜色条是制作清晰准确的图表的关键部分。我们已经学到,我们可以通过使用不同的参数,如pad,location和cax,在图表或子图中移动颜色条,具体取决于我们的需求。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程