barplot
が返されたAxesSubplot
をキャッチして作成したバーをループして、patches
をループすることができます。あなたはその後、.set_hatch()
を使用して、個々のバーのためのハッチを設定することができます。ここhereからbarplot例の修正版である、最小限の例です。
import matplotlib.pyplot as plt
import seaborn as sns
# Set style
sns.set(style="whitegrid", color_codes=True)
# Load some sample data
titanic = sns.load_dataset("titanic")
# Make the barplot
bar = sns.barplot(x="sex", y="survived", hue="class", data=titanic);
# Define some hatches
hatches = ['-', '+', 'x', '\\', '*', 'o']
# Loop over the bars
for i,thisbar in enumerate(bar.patches):
# Set a different hatch for each bar
thisbar.set_hatch(hatches[i])
plt.show()
出典
2016-02-18 09:26:04
tom
私はあなたが、 "個々のバー" で何を意味するかわかりません。あなたは、すべてのバーにハッチがあることを意味しますか、または異なるバーに異なるハッチングを付けることを意味しますか? – mwaskom
@mwaskom返事をありがとう!私は別のハッチを持つために異なるバーが必要です。 sns.barplotに 'hatch = '//''を渡すだけで、すべてのバーが同じハッチを持つように設定できます。しかし、どのように異なるバーで異なるハッチを持っているのか分かりません。 – kxirog