我用以創建所有我的地塊使用matplotlib
,直到我最近發現seaborn
。我發現特別有趣的事實,它可以讓你拆分小提琴,以比較給定的hue
變量。seaborn violinplots:更改小提琴的顏色,軸名稱,圖例
嗯,我的主要問題是,我不知道我有什麼以改變小提琴顏色修改,軸名,或地方,我想傳說。
下面是我從seaborn
跟着例如:
import seaborn as sns
tips = sns.load_dataset("tips")
sns.set(style="ticks", palette="colorblind")
g = sns.FacetGrid(tips, col="time", size=4, aspect=.75)
g = g.map(sns.violinplot, "sex", "total_bill", "smoker", inner=None, linewidth=1, scale="area", split=True, width=0.75).despine(left=True).add_legend(title="smoker")
g.savefig(os.path.join(options.output_dir, "figures", "violinplots.png"))
這裏是輸出數字violinplots.png
:
雖然我寧願像這樣的事情:
總結:
- 使用
white
和blue
顏色 - 更換軸
names
- 寫
leftmost y axis
只有 - 讓我自己
legend with the blue category only
預先感謝您。任何幫助將受到歡迎。
如果有人有興趣,這裏是如何我終於解決了這個數字得益於MrPedru22:
import seaborn as sns
tips = sns.load_dataset("tips")
sns.set(context="paper", palette="colorblind", style="ticks")
g = sns.FacetGrid(tips, col="time", sharey=False, size=4, aspect=.5)
g = g.map(seaborn.violinplot, "sex", "total_bill", "smoker", cut=0, inner=None, split=True, palette={"No": "#4477AA", "Yes": "white"}, saturation=1).despine(left=True)
# Set axis labels & ticks #
g.fig.get_axes()[0].set_xlabel("Lunch")
g.fig.get_axes()[1].set_xlabel("Dinner")
g.fig.get_axes()[0].set_xticklabels(["Male", "Female"])
g.fig.get_axes()[1].set_xticklabels(["Male", "Female"])
g.fig.get_axes()[0].set_ylabel("Total bill")
g.fig.get_axes()[0].set_yticks(range(0, 80, 10))
g.fig.get_axes()[1].set_yticks([])
g.fig.get_axes()[0].spines["left"].set_visible(True)
# Set legend #
handles, labels = g.fig.get_axes()[0].get_legend_handles_labels()
g.fig.get_axes()[0].legend([handles[1]], ["Non-smoker"], loc='upper left')
# Fixing titles #
g.fig.get_axes()[0].set_title("")
g.fig.get_axes()[1].set_title("")
g.plt.show()
您是否閱讀過文檔?然後嘗試一些? – jrjc
當然,我整個週末都在上面堆疊,這就是爲什麼我要問。 對於小提琴的顏色:我已經改變了sns.violinplot中的顏色和sns.set()中的調色板由我自己的顏色調色板。當我創建兩種顏色的調色板時,它只是忽略第二種顏色。它使用第一種顏色和較淺的顏色版本。如果我定義顏色,那也是一樣。 對於這個傳說,理論上它應該把傳說放在外面,但它忽略了它。 我可以用插畫替換它們的名稱和座標軸,所以它不是什麼大不了的。但我對顏色感到非常沮喪。 – ofornes
例如,你是用'despine(left = True)'移除軸的。我的猜測是你沒有閱讀過足夠的文檔。如果只有顏色的問題,嘗試減少你的問題只有顏色部分,並告訴我們你的嘗試,然後有人可能會回答。 – jrjc