प्लॉट के दाईं ओर पायथन मैटलपोटलिब वाई-एक्सिस टिक करता है


112

मेरे पास एक सरल रेखा प्लॉट है और प्लॉट के बाईं ओर (दाईं ओर) से y- अक्ष टिक्स को दाईं ओर ले जाने की आवश्यकता है। यह कैसे करना है पर कोई विचार?

जवाबों:


192

उपयोग ax.yaxis.tick_right()

उदाहरण के लिए:

from matplotlib import pyplot as plt

f = plt.figure()
ax = f.add_subplot(111)
ax.yaxis.tick_right()
plt.plot([2,3,4,5])
plt.show()

यहां छवि विवरण दर्ज करें


शानदार उत्तर, आपको एक +1 मिलता है, मैं आपको चित्र के लिए एक और +1 दूंगा लेकिन मैं केवल 1. तक ही सीमित हूं
lukecampbell

यह दिलचस्प है कि इससे टिक नाम वापस आ जाता है, भले ही उन्हें sharey द्वारा दबा दिया जाना चाहिए = सही
endolith

और क्या होगा अगर मुझे टिक्स और लेबल बायीं और दाईं ओर चाहिए?
एस्ट्रोफ्लोयड

1
मैंने ऐसा क्यों नहीं किया, लेकिन अगर आपके पास सबप्लॉट हैं तो यह टूट जाता है sharey=True
स्टीवन सी। हॉवेल

टिकों को बाईं और दाईं ओर प्रदर्शित करने की आज्ञा क्या है ? धन्यवाद!
tommy.carstensen 5

99

सही लेबल उपयोग के लिए ax.yaxis.set_label_position("right"), अर्थात:

f = plt.figure()
ax = f.add_subplot(111)
ax.yaxis.tick_right()
ax.yaxis.set_label_position("right")
plt.plot([2,3,4,5])
ax.set_xlabel("$x$ /mm")
ax.set_ylabel("$y$ /mm")
plt.show()

57

joaquin का उत्तर काम करता है, लेकिन कुल्हाड़ियों के बाईं ओर से टिक्स को हटाने का दुष्प्रभाव है। इसे ठीक करने के लिए, tick_right()कॉल के साथ पालन करें set_ticks_position('both')। एक संशोधित उदाहरण:

from matplotlib import pyplot as plt

f = plt.figure()
ax = f.add_subplot(111)
ax.yaxis.tick_right()
ax.yaxis.set_ticks_position('both')
plt.plot([2,3,4,5])
plt.show()

परिणाम दोनों तरफ टिक्स के साथ एक प्लॉट है, लेकिन दाईं ओर लेबल को टिक करें।

यहां छवि विवरण दर्ज करें


24

बस किसी ने पूछा है (जैसे मैंने किया), यह तब भी संभव है जब कोई सबप्लॉट 2grid का उपयोग करता है। उदाहरण के लिए:

import matplotlib.pyplot as plt
plt.subplot2grid((3,2), (0,1), rowspan=3)
plt.plot([2,3,4,5])
plt.tick_params(axis='y', which='both', labelleft='off', labelright='on')
plt.show()

यह दिखाएगा:

यहां छवि विवरण दर्ज करें


4
इसके साथ ax.tick_params(axis='y', which='both', labelleft='off', labelright='on')ही काम करता है । लेकिन यह ylabel
एरिक

1
वैसे आप हमेशा plt.gca()मौजूदा कुल्हाड़ी वस्तु प्राप्त करने के लिए उपयोग कर सकते हैं । इसलिए आप उपयोग करेंगे:plt.gca().yaxis.set_label_position("right")
sannaj
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.