シーボーンを使用して散布図を作成しました:
import seaborn as sns
sns.set(style="ticks", color_codes=True)
g=sns.scatterplot(x="length", y="coverage", data=df, hue = 'Products', edgecolors=None, alpha = 0.7)
g.set(yscale="log")
plt.xlabel("Length(bp)")
plt.ylabel("Coverage")
plt.legend(loc = 'lower right')
plt.savefig('ATN_plot.png',dpi = 600)
元のデータ(部分):
contig length coverage pathway Products
53 1230 2423 stigmatellin Yes
58 1195 885 curacin Yes
65 1161 598 jamaicamide Yes
68 1159 8001 jamaicamide Yes
79 1113 1423 curacin Yes
105 1042 1106 stigmatellin Yes
727 666 223 HSAF (heat stable antifungal factor) Yes
787 655 37 curacin Yes
791 654 13 stigmatellin Yes
798 652 49 stigmatellin Yes
844 642 5774 jamaicamide Yes
89 1090 13 No No
90 1089 10 No No
91 1086 26 No No
92 1080 16 No No
93 1079 10 No No
94 1079 13 No No
そして、最終的なプロットは次のようになります。
スポットの白いエッジが好きではありません。ほとんどのスポットが蓄積されている画像の左下の部分が白く見えます。私はすでに "edgecolors = None"をコードに含めましたが、機能していないようです。誰かがエッジの色を削除したり、他の人に変更する方法を知っていますか?
どうもありがとうございました!
置換edgecolors=None
とlinewidth=0
何かのようなもの:
g=sns.scatterplot(x="length", y="coverage", data=df, hue = 'Products',
linewidth=0, alpha = 0.7)
Matplotlibでは、ほとんどの引数は「デフォルトを使用」の場合と同様にNone
を取ります。これに対して、ここではデフォルトを使用するのではなく、エッジカラーを使用しません。これは"none"
を介して行われます。
sns.scatterplot(..., edgecolor="none")
Kwargs(キーワード引数)を渡すことでスポットカラーを変更できます
kwargs = {'edgecolor':"r", # for Edge color
'linewidth':2.7, # line width of spot
'linestyle':'--', # line style of spot
}
sns.scatterplot(x = "tip", y = "total_bill", data = tips_df, hue = "sex",
size ="sex", sizes = (100, 300), palette = "nipy_spectral" ,**kwargs)
または、次のようにパラメータとして直接渡すことができます。
sns.scatterplot(x = "tip", y = "total_bill", data = tips_df, hue = "sex",
size ="sex", sizes = (100, 300), palette = "nipy_spectral",
edgecolor='r',
linewidth=2,
linestyle='--',)
出力>>>
私はあなたの疑いを明確にしたと思います。