-1

我生成了以下直方图: 在此处输入图像描述

我希望压缩直方图,即减少条之间的空白(例如,在 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()
4

1 回答 1

1

更改此行

ax = pd.DataFrame(df).plot.bar(color=("dodgerblue", "pink"), legend=True, figsize=(8, 6))

用这条线

ax = df.plot(kind='bar', width=0.9, color=("dodgerblue", "pink"), legend=True, figsize=(8, 6))

并根据自己的喜好调整值宽度

在此处输入图像描述

于 2019-08-27T22:55:46.207 回答