【问题标题】:Plotting 3D bars in Matplotlib在 Matplotlib 中绘制 3D 条形图
【发布时间】:2015-05-20 21:50:02
【问题描述】:

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

但是,有趣的是,如果您不“全部”放大以专注于一组特定的条形图,它们看起来会偏离中心,但实际上并非如此。这是由于多边形倾斜和我假设的条保持静止。每当倾斜/旋转绘图时,多边形将被移动以面对条形图,这很烦人,因为它破坏了绘图 imo 的外观。

有谁知道如何避免/解决这个问题?我提供了一些示例图片来描述这种行为。

【问题讨论】:

  • 您是否尝试过调整 Basemap.draw* 调用的 zorder?
  • 我试过玩弄 zorder 一些,但也许我错过了一些东西。您对调整 zorder 有何建议?

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


【解决方案1】:

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

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

我创建的条形图还有一个 alpha 选项设置为 alpha = 0.5 如果有人想知道为什么它们看起来如此透明,当然可以更改它。

不操作多边形集合中的alpha 选项,如下所示

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)

结果如下

collection = PolyCollection(polygons, alpha = 0, closed = False) 中给出 0 的 alpha 选项会导致以下结果

有趣的是,将 alpha 选项设置为 alpha = 0.4,您可以看到创建的多边形开始与条形重叠的位置

【讨论】:

    猜你喜欢
    • 2013-08-06
    • 2016-08-17
    • 1970-01-01
    • 2020-02-28
    • 2015-08-08
    • 1970-01-01
    • 2017-06-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多