【问题标题】:matplotlib using twinx and twiny together (like twinxy)matplotlib 一起使用 twinx 和 twiny(如 twinxy)
【发布时间】:2012-09-10 20:25:10
【问题描述】:

我可以同时拥有 twinx 和 twiny(例如 twinxy 之类的东西)吗? 我想将 CDF 放在条形图上,其中条形图的 X 轴采用对数刻度。我不能一起制作 Y,因为条形图的 y 范围与 CDF 的 [0,1] 相比非常大。

有什么想法吗?

谢谢,

【问题讨论】:

    标签: matplotlib


    【解决方案1】:

    如果我对您的问题的理解正确,您想在同一个 axes 上绘制两件事,而没有共享 axis。可能有更好的方法来做到这一点,但你可以堆叠 twinx (doc)twiny (doc) 这样

    ax # your first axes
    ax_new = ax.twinx().twiny()
    

    这将在情节的各个方面为您打勾。 ax 将绘制在底部和左侧,ax_new 将绘制在顶部和右侧。

    【讨论】:

    • 似乎很简单...我不知道为什么我没有测试它...谢谢
    • 很好的解决方案,谢谢!使用此方法 (ax2 = ax1.twinx().twiny()) 时,我无法为第二个轴设置 y_label,但我可以设置 x_label。通过切换到ax2 = ax1.twiny().twinx(),我就可以添加 y_label。然而,这引发了另一个问题,因为我无法像以前那样关闭 x-tick 标签 (ax2.tick_params(axis='x', which='both', top='off', bottom='off', labelbottom='off', labeltop='off'))。此方法似乎破坏了坐标区的某些功能,可能需要一些时间来解决。
    • @Jason 这是如何处理重叠轴上的 x/y 标签的一个有趣的问题。您可能需要抓住中间轴并对其进行处理。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多