我希望压缩直方图,即减少条之间的空白(例如,在 0.8-0.85 和 0.85-0.9 之间)。
在这方面,增加条形宽度的解决方案对我来说并不方便。
据我所知,我发现的所有已经提出的问题都解释了如何减少外部空白(即,在 0.95-1 之后和 0.75-0.8 之前)。
我用来生成直方图的代码是:
import pandas as pd
import numpy as np
from matplotlib import pyplot as plt
dataset = pd.read_csv('compare.csv', usecols=['Y', 'X'])
dict = {'0.75-0.8': [0, 0], '0.8-0.85': [0, 0], '0.85-0.9': [0, 0], '0.9-0.95': [0, 0], '0.95-1': [0, 0]}
mylist = list(dict.values())
#various code that fills 'mylist'
df = pd.DataFrame(data=mylist,
index=['0.75-0.8', '0.8-0.85', '0.85-0.9', '0.9-0.95', '0.95-1'],
columns=pd.Index(['Y', 'X'],
)).round(2)
ax = pd.DataFrame(df).plot.bar(color=("dodgerblue", "pink"), legend=True, figsize=(8, 6))
for container, hatch in zip(ax.containers, ("", "//")):
for patch in container.patches:
patch.set_hatch(hatch)
plt.show()