如何绘制x轴为连续节点对y轴为斜率的2D图及道路坡度可视化方案
问题核心说明
6个连续节点天然对应5个区间斜率,两个列表长度差1属于符合逻辑的正常情况,不需要额外补0,直接匹配对应区间即可实现绘图。
基于Matplotlib的实现代码
import matplotlib.pyplot as plt # 已有业务数据 objectsIDsForGraphNodes = [1480642, 1504454, 1504455, 1504456, 1504457, 1504458] slopeValues = [-14.6541400000001, -4.927820000000054, -2.8426600000000235, -2.2563800000000356, -1.0200999999997862] # 生成x轴节点刻度和区间对应位置 node_ticks = range(len(objectsIDsForGraphNodes)) interval_center_pos = [i + 0.5 for i in range(len(slopeValues))] plt.figure(figsize=(10, 6)) # 用柱状图展示每个区间的坡度值,宽度适配节点间距 plt.bar(interval_center_pos, slopeValues, width=0.9, align='center') # 标注x轴节点ID plt.xticks(ticks=node_ticks, labels=objectsIDsForGraphNodes, rotation=45) # 零坡度参考线 plt.axhline(y=0, color='red', linestyle='--', label='零坡度参考') # 标注每个区间的坡度数值 for x, val in zip(interval_center_pos, slopeValues): plt.text(x, val + 0.3, f"{val:.2f}%", ha='center') plt.xlabel('道路节点ID') plt.ylabel('坡度(%)') plt.title('连续节点间道路坡度分布') plt.legend() plt.tight_layout() plt.show()
道路场景斜率可视化更优方案
- 坡度色阶条:将道路按节点切分为连续段,用颜色映射坡度大小,比如红色标注陡坡下坡、绿色标注上坡、灰色标注平路,直接叠加在道路线网图层上,可直观对应坡度的空间位置
- 高程-坡度组合图:上半部分绘制道路节点的高程变化折线,下半部分对应位置绘制区间坡度柱状图,可同时展示海拔变化和坡度的对应关系
- 坡度占比统计图表:统计不同坡度区间的路段总长度占比,适合做整条道路的坡度等级合规性评估
内容的提问来源于stack exchange,提问作者sukruburakcetin
相关产品推荐
相关产品推荐

