2024-09-30 20:36:49 发布
网友
我正在尝试在matplotlib(或另一个python绘图库)中创建metrit订单供应曲线条形图
每个条的宽度表示观测值的大小(在本例中为安装的屋顶太阳能),y轴表示成本,X轴表示特定成本或低于特定成本的所有观测值的累积大小。这将创建一条类似以下内容的供给曲线:
请注意,每个条的宽度都不相同,并且对观察结果进行了排序,以便没有任何条比其左侧的任何条短
这样的功能是否存在于任何绘图软件包中,或者我应该编写一个脚本,根据任意一侧的条形宽度动态计算每个条形的必要位置
下面是我总结的一个快速解决方案,尽管我觉得matplotlib中可能存在一个gaps=0选项,但我找不到相关文档
gaps=0
fig, ax = plt.subplots() cost = [1, 1.5, 2, 3, 4] width = [1.0, 5.0, 10.0, 15.0, 10.0] y_pos = [1,2,3,4,5] colors = ['red','blue','green','red','blue'] bars = ['A','B','C','D','E'] relative_positions = [] relative_position = 0 previous_width = 0 for w in width: print(w, w/2) relative_position = float(relative_position + (previous_width/2) + (w/2)) print(w, relative_position) previous_width = w relative_positions.append(relative_position) plt.bar(relative_positions, cost, width=width, color=colors) plt.xticks(relative_positions, bars)
下面是我总结的一个快速解决方案,尽管我觉得matplotlib中可能存在一个
gaps=0
选项,但我找不到相关文档相关问题 更多 >
编程相关推荐