अक्ष मूल्यों को छिपाएं, लेकिन मैट्रिक्स प्लॉट लेबल को matplotlib में रखें


101

मेरी यह छवि है:

plt.plot(sim_1['t'],sim_1['V'],'k')
plt.ylabel('V')
plt.xlabel('t')
plt.show()

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

मैं संख्या छिपाना चाहता हूं; अगर मैं उपयोग करता हूं:

plt.axis('off')

... मुझे यह छवि मिलती है:

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

यह लेबल भी छिपाता है, Vऔर t। मैं मूल्यों को छिपाते हुए लेबल कैसे रख सकता हूं?

जवाबों:


141

यदि आप matplotlib ऑब्जेक्ट-ओरिएंटेड दृष्टिकोण का उपयोग करते हैं , तो यह प्रयोग करने वाला एक सरल कार्य है ax.set_xticklabels()और ax.set_yticklabels():

import matplotlib.pyplot as plt

# Create Figure and Axes instances
fig,ax = plt.subplots(1)

# Make your plot, set your axes labels
ax.plot(sim_1['t'],sim_1['V'],'k')
ax.set_ylabel('V')
ax.set_xlabel('t')

# Turn off tick labels
ax.set_yticklabels([])
ax.set_xticklabels([])

plt.show()

11
टिक लेबल को हटाने के लिए बढ़िया काम करता है, लेकिन आपको अभी भी टिक के निशान मिलते हैं ...
एंड्रयू स्काइबर

86

ए के बिना subplots, आप सार्वभौमिक रूप से इस तरह से टिक्स को हटा सकते हैं:

plt.xticks([])
plt.yticks([])

44

यह बहुत अच्छा काम करता है। बस इससे पहले पेस्ट करें plt.show():

plt.gca().axes.get_yaxis().set_visible(False)

बूम।


2
धन्यवाद, यह बहुत अच्छा काम करता है। अन्य मामलों में
टिकों

Ax.set_xticklabels ([]) जैसे उत्तरों के विपरीत, यह एक निम्नलिखित मामले के लिए पूरी तरह से काम करता है: एक शेयरएक्स विकल्प के साथ सबप्लॉट्स का उपयोग करता है और केवल सबप्लॉट्स में से एक के लिए टिक हटाना चाहता है।
Михаил Лисаков

महान! और plt.gca ()। Axes.get_xaxis ()। Set_v अदृश्य (गलत) भी एक्स अक्ष लेबल और टिक से छुटकारा पाने के लिए।
fbparis

1
या यदि आपके पास पहले से ही कुल्हाड़ी है, तोax.xaxis.set_visible(False)
'

1
@filip मुझे खुशी है कि यह मदद की :) हूँ
एमआरटी

3

यकीन नहीं है कि यह सबसे अच्छा तरीका है, लेकिन आप निश्चित रूप से टिक लेबल को इस तरह बदल सकते हैं:

import matplotlib.pyplot as plt
x = range(10)
y = range(10)
plt.plot(x,y)
plt.xticks(x," ")
plt.show()

पायथन 3.4 में यह एक्स-अक्ष पर कोई टिक लेबल के साथ एक सरल रेखा साजिश उत्पन्न करता है। एक सरल उदाहरण यहाँ है: http://matplotlib.org/examples/ticks_and_spines/ticklabels_demo_rotation.html

इस संबंधित प्रश्न में कुछ बेहतर सुझाव भी दिए गए हैं: मैटप्लोटलिब भूखंडों में अक्ष का पाठ छिपाते हुए

मैं अजगर के लिए नया हूं। आपके माइलेज पहले के संस्करणों में भिन्न हो सकते हैं। शायद दूसरों की मदद कर सकते हैं?


2

टिकमार्क को पूरी तरह से हटाने के लिए:

ax.set_yticks([])
ax.set_xticks([])

अन्यथा ax.set_yticklabels([])और ax.set_xticklabels([])टिकमार्क रखेंगे।


जब मैं कोशिश करता हूं ax.set_yticks([], []), तो मुझे निम्न चेतावनी मिलती है: "MatplotlibDeprecationWarning: set_xticks () के मामूली पैरामीटर को पास करने से Matplotlib 3.2 के बाद से पदावनत हो जाता है; पैरामीटर कीवर्ड-केवल दो मामूली रिलीज़ बाद में बन जाएगा।" सही विकल्प क्या है?
रिलन शेफ़र

@RylanSipleffer, आपके उदाहरण में ax.set_yticks([], [])आप 2 रिक्त सूचियाँ पास कर रहे हैं जो त्रुटि का कारण बनती हैं। क्यों कर रहे हो? कमांड मैनुअल देखें। यदि पहले तर्क को औपचारिक रूप से पारित नहीं किया जाना चाहिए, तो इसे कीवर्ड के साथ पास करें ax.set_yticks(ticks=[]):।
रुसलान एस

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.