我试着画两条线来表示河流两岸的土地覆盖。但是,当我增加链接厚度时,线位置实际上会移动,因此线会偏移,看起来似乎在分析开始(零距离)之前开始。当我减小线宽时,偏移会减小,但不会完全消失。线需要相对粗,使得图案在所产生的图中是可解释的。
Part of the figure plot - with line thickness of 10
Part of the figure plot - with line thickness of 3的
请参见下面的河流左岸代码示例。leftBank_filled是一个Pandas Dataframe,使用的列是'rev2003_LC'(=土地使用)和'ColorFormula',它是给定土地使用的相关颜色。xDistl具有如进一步向下的X位置的检查中所示的值,并且yL是常数,以沿着每个组的图的顶部(或底部)创建水平线。
if len(Ldist_km) == len(leftBank_filled['rev2003_LC']):
print('plotting left')
for Lp in range(len(leftBank_filled['rev2003_LC'])-1):
xDist1 = [Ldist_km[Lp],Ldist_km[Lp+1]]
xDist1List.append(xDist1)
plt.plot(xDist1,yL,color=leftBank_filled['ColorFormula'][Lp],linewidth=3)
字符串
我已经修改了我的代码来检查x分量的绘图位置,我可以确认它们是预期值(见下图)。
Check of x positions used in the plotting of the land cover lines的
我已经增加和减少了线的厚度,以确认这是导致问题的变量。
3条答案
按热度按时间n6lpvg4x1#
下面所有的白色都有一个 x 跨度0-1,彩色线也有相同的 x 跨度,但由于线宽大和不同的“帽样式”,它们的长度或外观不同。
x1c 0d1x的数据
也许你想摆弄Matplotlib的“帽样式”...
字符串
9njqaruj2#
不确定这个问题,也许可以提供一个可重复的例子。
但如果你使用更大的线宽,它会从你正在绘制的值的两侧扩展,请参阅:
字符串
的数据
prdp8dxp3#
我无法评论@paime的答案,但这里有一个可重复的问题示例,基本上行结束似乎也被线宽填充:
字符串
Imgur我不能直接发布图像,由于低代表。
我已经在linestyle属性和类似的戳周围,不能找到一个解决这个问题的办法。唯一的建议是在顶部绘制白色多边形,直到使用补丁所需的边缘,但非常不满意。