Если 'col1'
содержит только уникальные метки, вы сразу же получите результат с sns.barplot(x='col1', y='col2', data=df)
. В случае повторяющихся меток вы можете использовать индекс как x
, а затем изменить галочки:
from matplotlib import pyplot as plt
import numpy as np
import pandas as pd
import seaborn as sns
df = pd.DataFrame({'col1': list('ababab'), 'col2': np.random.randint(10, 20, 6)})
ax = sns.barplot(x=df.index, y='col2', data=df)
ax.set_xticklabels(df['col1'])
ax.set_xlabel('col1')
plt.show()
PS: Аналогично, горизонтальную гистограмму можно создать как:
df = pd.DataFrame({'col1': list('ababab'), 'col2': np.random.randint(10, 20, 6)})
ax = sns.barplot(x='col2', y=df.index, data=df, orient='h')
ax.set_yticklabels(df['col1'])
ax.set_ylabel('col1')