बदलें मैं matplotlib
का उपयोग करके अपने सभी भूखंडों का उपयोग करता था जब तक कि मैंने हाल ही में seaborn
की खोज नहीं की। मुझे विशेष रूप से दिलचस्प तथ्य मिला कि यह आपको दिए गए hue
चर की तुलना करने के लिए वायलिन को विभाजित करने की अनुमति देता है।समुद्री डाकू वायलिनप्लॉट्स: वायलिन रंग, अक्ष नाम, किंवदंती
खैर, मेरी बड़ी समस्या यह है कि मैं क्या मैं आदेश वायलिन रंग बदलने के लिए संशोधित करने के लिए क्या है पता नहीं है है, नाम, या जगह कथा मैं कहाँ चाहते अक्ष। यहाँ
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
है:
यहाँ उदाहरण मैं seaborn
से पीछा किया है
जबकि मैं नहीं बल्कि कुछ इस तरह करना चाहते हैं:
संक्षेप में:
- उपयोग
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