Seabornでバイオリン図を作成しています。これは、デフォルトでx軸がカテゴリカルであると想定しているため、データを値でスケーリングするのではなく、均等に配置します。個々のバイオリンの間隔は、単に均等に配置するのではなく、各バイオリンに関連付けられた値で定義する必要があります。デフォルトをmatplotlibコマンドで上書きできることを示唆する多くのことを読みましたが、何も機能させることができません。
sns.set(palette='muted', color_codes=True)
f, axes = plt.subplots(2, 2, figsize=(8,5))
sns.violinplot(x = lsdf['6MO_CUM_MBO/1000FT'], y = lsdf.RELATIVE_DEPTH,
data=lsdf, palette="Blues", ax=axes[0,0])
ここでの重要な問題は、Seabornのデフォルトが何を制御しているかが正確にわからないことだと思います。サブプロットによって作成されたAxesオブジェクトを変更する必要がありますか?またはax = [0,0]オブジェクト?
同様の質問に対して私が見つけた唯一の答えは、「matplotlibで実行する」という解決策でしたが、seabornで利用可能なプロットが必要です。ご協力いただきありがとうございます。
まあ、私は最終的にこれを解決しました、ある種...私は純粋なmatplotlibを洞窟に入れて使用し、Seabornをあきらめました。matplotlib violinplotは配列のようなpositions
引数を取り、数値が渡されるとx軸を自動スケーリングし、plt.plot
マーカーの位置と軸の範囲が入力データから導出されるプロットとまったく同じように動作します。私は今でもseaborn.set()
素晴らしいシーボーンの美学を手に入れていました。matplotlibバイオリン図のカスタマイズに関するドキュメントがあります。このドキュメントには、バイオリンの詳細を編集して、バイオリンをカスタマイズし、Seabornバイオリン図のすべての部分を模倣する方法の良い例があります。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加