要创建自己的颜色图,一种方法是利用 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。颜色比例也合并到图的右侧,允许轻松解释颜色。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3