在Matplotlib中绘制3D条形图

时间:2015-05-20 21:50:03

标签: python python-3.x matplotlib plot matplotlib-basemap

使用matplotlibbasemap绘制简单的多边形集合和3D条形时,为什么会发生以下情况?使用它来创建这些类型的图here的方式可以创建这种情节。

然而,有趣的是,如果你没有缩放"所有"虽然他们并非如此,但他们专注于一组特定的酒吧的方式似乎偏离中心。这是由于多边形倾斜而且杆保持静止我假设。每当倾斜/旋转绘图时,多边形将被移动到面对条纹,这是相当烦人的,因为它破坏了情节imo的外观。

有谁知道如何避免这种情况/解决这个问题?我已经包含了一些示例图像来描述这种行为。

enter image description here

1 个答案:

答案 0 :(得分:0)

这可能不是解决此问题的最佳方法,如果有人有更好的方法请分享。

我发现一种非常简单的方法来绕过条形并创建这种偏移外观,只是简单地使多边形集合具有高透明度因子。不幸的是,这也消除了设置为多边形的面部颜色,这就是为什么我不喜欢这个作为解决方案的原因,因为您不再需要操作面/边颜色的各种选项。结果如下:

我创建的酒吧也有一个设置为alpha的{​​{1}}选项,如果有人想知道它们为何如此透明,当然可以更改。

不操作多边形集合中的alpha = 0.5选项,例如以下

alpha

结果如下

enter image description here

map = Basemap() figure = plot.figure() axes = Axes3D(figure) for polygon in map.landpolygons: polygons.append(polygon.get_cords()) #alpha = 0-1 in the below 1 highest 0 lowest collection = PolyCollection(polygons, closed = False) axes.add_collection3d(collection) 中给出alpha选项为0会产生以下结果

enter image description here

有趣的是,将alpha选项设置为collection = PolyCollection(polygons, alpha = 0, closed = False),您可以看到创建的多边形开始与条重叠的位置

enter image description here