मैं एक matplotlib क्षैतिज बार इस प्रकार तैयार की गई है:अनुरूपण सिर्फ एक कांटा का उपयोग कर matplotlib में टिक के निशान की ओर
import matplotlib.pyplot as plt
from numpy import *
from scipy import *
bars = arange(5) + 0.1
vals = rand(5)
print bars, vals
plt.figure(figsize=(5,5), dpi=100)
spines = ["bottom"]
ax = plt.subplot(1, 1, 1)
for loc, spine in ax.spines.iteritems():
if loc not in spines:
spine.set_color('none')
# don't draw ytick marks
#ax.yaxis.set_tick_params(size=0)
ax.xaxis.set_ticks_position('bottom')
plt.barh(bars, vals, align="center")
plt.savefig("test.png")
यह इस छवि बनाता है:
मैं करना चाहता था केवल xaxis, दिखाने के जो कताई का उपयोग करके काम किया, लेकिन अब यह दाएं हाथ याक्सिस के लिए इन लटकते टिकटें प्लॉट करता है। मैं इन्हें कैसे हटा सकता हूं? आईडी प्लॉट के बाईं ओर ytickmarks रखना पसंद है और उन्हें सामना करना पड़ता है (सलाखों के विपरीत दिशा)। मुझे पता है कि मैं पूरी तरह ytickmarks लाइन uncommenting से निकाल सकते हैं:
#ax.yaxis.set_tick_params(size=0)
लेकिन मैं केवल बाएं हाथ की ओर ytick अंक रखना चाहते हैं। धन्यवाद।
EDIT: मैंने कुछ परीक्षण और त्रुटि के बाद समाधान प्राप्त किया, हालांकि मुझे यकीन है कि मेरा समाधान शायद ऐसा करने का सबसे अच्छा तरीका नहीं है, इसलिए कृपया मुझे बताएं कि आप अभी क्या सोचते हैं। मैंने पाया कि मैं कर सकता हूं:
ax.spines["left"].axis.axes.tick_params(direction="outward")
टिक मार्क दिशा निर्धारित करने के लिए। सही y- अक्ष से छुटकारा पाने के टिक्स, मैं का उपयोग करें:
ax.yaxis.set_ticks_position("left")