如何调整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实用程序的子模块。它是一个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()
输出
使用pad和aspect参数
pad参数允许我们更改颜色条与绘图的距离。aspect参数设置颜色条的宽度和高度。通过更改这些参数,我们可以更改颜色条的位置。
例如,我们可以使用以下代码来更改颜色条在水平子图中的位置,这里颜色条位置位于图表下方:
颜色条是表示图表中显示颜色的线条,在本例中,我们将看到如何使用pad参数和orientation参数来设置颜色条在图表下方的位置,其中orientation参数的值将为水平。
示例
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()
输出
在上面的程序中,我们使用ax.imshow()绘制数据并创建了一个水平子图。之后,我们使用f.colorbar()函数添加了一个颜色条,并使用pad和aspect参数调整其位置。
使用location参数
轴的位置由用户指定,颜色条通过“location”参数与当前显示的轴关联。在对列表中的多个轴着色时,location参数用于颜色条。
示例
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()
输出
使用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颜色条是制作清晰准确图表的关键部分。我们已经了解到,我们可以通过使用不同的参数(例如pad、location和cax)来移动图表或子图中的颜色条,具体取决于我们的需求。