要创建自己的颜色图,一种方法是利用 matplotlib.colors 模块中的 LinearSegmentedColormap 函数。这种方法更简单,并产生连续的色标。
import numpy as np import matplotlib.pyplot as plt import matplotlib.colors # Generate random data points x, y, c = zip(*np.random.rand(30, 3) * 4 - 2) # Define lower and upper bounds for normalization norm = plt.Normalize(-2, 2) # Create a list of tuples representing the values and corresponding colors tuples = [(norm(-2.), 'red'), (norm(-1.), 'violet'), (norm(2.), 'blue')] # Generate the colormap from the list of tuples cmap = matplotlib.colors.LinearSegmentedColormap.from_list('', tuples) # Plot the data points using the custom colormap plt.scatter(x, y, c=c, cmap=cmap, norm=norm) # Add a color scale to the plot plt.colorbar() plt.show()
此代码片段成功创建了一个从红色到紫色到蓝色平滑过渡的颜色图,范围从 -2 到 2。色标也是合并到图的右侧,可以轻松解释颜色。
以上是如何在 Matplotlib 中创建自定义颜色图并添加色标?的详细内容。更多信息请关注PHP中文网其他相关文章!