python - matplotlib:断轴和不均匀缩放

标签 python pandas numpy matplotlib bar-chart

我有一个条形图需要沿 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 应该占据更少空间(右半边)。

最佳答案

你可以试试

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

为了平均分配子图。

关于python - matplotlib:断轴和不均匀缩放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55887014/

相关文章:

python - 遍历两个字典

python - BeautifulSoup 4 Python 网页抓取到 txt 文件

python:进行大规模检查的有效方法

python - NumPy 的 : read data from CSV having numerals as string

python - 从索引的列/行数组中填充出现的矩阵

python - 如何使用 Python 在文本文件中读取和写入多个值?

python - 如何将我的 Python 文件分离到多个插件?

python - pandas 中的 dcast 和聚合长度

python - 查找 pandas 系列中元素之间的所有成对差异

python - 使用 pandas 动态导入 EXCEL 工作表并将它们分配给 Python 中的 DataFrames