如何在matplotlib中插入非重叠文本?

时间:2012-11-18 03:55:25

标签: python matplotlib

我正在尝试在使用matplotlib创建的网络图中插入潮流结果。一些公共汽车如此接近,以至于标记名称以及潮流结果证明是一个令人头痛的问题,因为文本重叠使一些部分难以理解。

是否有某种方法可以使用文本的边界框来确定文本是否与绘图线和/或其他文本重叠?

1 个答案:

答案 0 :(得分:3)

这不是这个问题的简单答案,因为它是automatic label placement problem的一个例子,它是NP难的(即没有快速的算法方法可以保证解决这个问题)。甚至谷歌和OpenStreetMaps都没有完善的解决方案!

潜在的解决方案可以包括隐藏不太重要的元素的连接或标签,渲染一系列图像,每个图像包含标签/连接的子集,以及以不同的缩放级别渲染图像。 visualizing the stock market structure上的Sklearn教程为标签放置的一些简单启发式方法提供了一个很好的例子。

您可能还想围绕GIS堆栈交换as similar questions have been asked there