代码之家  ›  专栏  ›  技术社区  ›  SaadH

matplotlib:不均匀地打断轴和缩放

  •  0
  • SaadH  · 技术社区  · 5 年前

    我有一个条形图,需要沿x轴分解,分解后x轴的比例应该改变。

    brokenaxes 包装( https://github.com/bendichter/brokenaxes ).

    import sys
    import matplotlib.pyplot as plt
    from brokenaxes import brokenaxes
    import pandas as pd
    import numpy as np
    
    df = pd.DataFrame()
    df['A'] = pd.Series(np.random.randint(0,10,size=(5)))
    df['B'] = pd.Series(np.random.randint(50,90,size=(5)))
    df = df.sort_values('A', ascending=True)
    
    bax = brokenaxes(xlims=((0, 11), (50, 90)))
    bax.barh(np.arange(0, len(df)), df['A'], height=0.3, hatch='/')
    bax.barh(np.arange(0.3, len(df) + 0.3), df['B'], height=0.3, hatch='\\')
    bax.set_xlabel('value')
    bax.set_ylabel('index')
    plt.show()
    

    输出如下:

    enter image description here

    目前,x轴的缩放是均匀的。我想改变x轴的比例,使0-10应该占据更多的空间(左半部分可能?),而50-90应该占据更少的空间(右半部分)。

    0 回复  |  直到 5 年前
        1
  •  2
  •   ImportanceOfBeingErnest    5 年前

    brokenaxes(xlims=((0, 11), (50, 90)), width_ratios=[1,1])
    

    子地块的平均分布。