如何按列表位置为元组列表中的散点设置同色系不同深浅颜色绘制
同色系深浅渐变散点图实现方案
我们可以用Python的matplotlib库轻松实现这个需求,核心思路是给每个点分配渐变的颜色值,再映射到红色系的颜色映射表中。
具体代码实现
import matplotlib.pyplot as plt # 给定的数据点 x = [(5, 1), (2, 4), (1,6), (4,7)] # 拆分横、纵坐标 x_coords = [p[0] for p in x] y_coords = [p[1] for p in x] # 生成对应每个点的颜色梯度值:索引越小,颜色越深 color_gradient = list(range(len(x))) # 绘制散点图 scatter_plot = plt.scatter( x_coords, y_coords, c=color_gradient, # 绑定颜色梯度值 cmap='Reds', # 指定红色系颜色映射 s=120 # 设置点的大小 ) # 添加颜色条,直观展示深浅对应关系 plt.colorbar(scatter_plot, label='点顺序(左深右浅)') # 图表基础设置 plt.xlabel('X 坐标') plt.ylabel('Y 坐标') plt.title('红色系深浅渐变散点图') plt.show()
关键说明
c=color_gradient:把每个点的索引作为颜色依据,索引0对应最深的红色,索引越大颜色越浅,完全匹配需求中的顺序cmap='Reds':matplotlib内置的红色系渐变映射表,自动实现从深红到浅红的平滑过渡- 如果需要反向渐变(第一个点最浅,最后一个点最深),只需把
color_gradient改成list(reversed(range(len(x))))即可
内容的提问来源于stack exchange,提问作者Qubix
相关产品推荐
相关产品推荐

