Увеличение промежутка между бункерами в морском районе
Так что у меня, наверное, простой вопрос. Я создал гистограмму из данных из файла Excel с Seaborn. Для лучшей визуализации, я хотел бы иметь некоторое пространство между барами / корзинами. Это возможно?
Мой код выглядит следующим образом
import pandas as pd
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
%matplotlib inline
from IPython.display import set_matplotlib_formats
set_matplotlib_formats('svg', 'pdf')
df = pd.read_excel('test.xlsx')
sns.set_style("white")
#sns.set_style("dark")
plt.figure(figsize=(12,10))
plt.xlabel('a', fontsize=18)
plt.ylabel('test2', fontsize=18)
plt.title ('tests ^2', fontsize=22)
ax = sns.distplot(st,bins=34, kde=False, hist_kws={'range':(0,1), 'edgecolor':'black', 'alpha':1.0}, axlabel='test1')
Второй вопрос, хотя и немного не по теме, заключается в том, как мне на самом деле поднять показатель в названии графика?
Спасибо!
3 ответа
Матплотлиб hist
функция имеет аргумент rwidth
rwidth
: скаляр или None, необязательно
Относительная ширина столбцов в виде доли от ширины корзины.
Вы можете использовать это внутри distplot
через hist_kws
аргумент.
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
x = np.random.normal(0.5,0.2,1600)
ax = sns.distplot(x,bins=34, kde=False,
hist_kws={"rwidth":0.75,'edgecolor':'black', 'alpha':1.0})
plt.show()
для Seaborn>= 0.11 используйте
Документация: https://seaborn.pydata.org/generated/seaborn.histplot.html
Отправив свой ответ, я понял, что ответил противоположным тому, о чем меня спрашивали. Я нашел этот вопрос, пытаясь понять, как убрать пробел между полосами. Я почти удалил свой ответ, но на тот случай, если кто-то еще наткнется на этот вопрос и попытается удалить промежуток между полосами на графике истории seaborn, я пока оставлю его.
Благодаря @miro за обновленную документацию Seaborn я обнаружил, что
element='step'
работал у меня. В зависимости от того, что именно вы хотите,
element='poly'
может быть то, что вам нужно.
Моя реализация с шагом:
fig,axs = plt.subplots(4,2,figsize=(10,10))
i,j = 0,0
for col in cols:
sns.histplot(df[col],ax=axs[i,j],bins=100,element='step')
axs[i,j].set(title="",ylabel='Frequency',xlabel=labels[col])
i+=1
if i == 4:
i = 0
j+=1
Моя реализация с поли:
fig,axs = plt.subplots(4,2,figsize=(10,10))
i,j = 0,0
for col in cols:
sns.histplot(df[col],ax=axs[i,j],bins=100,element='poly')
axs[i,j].set(title="",ylabel='Frequency',xlabel=labels[col])
i+=1
if i == 4:
i = 0
j+=1