ম্যাটপ্ল্লিটিব প্লটে আইটিক্স সরাবেন?


290

আমার একটি semilogx প্লট আছে এবং আমি xticks মুছে ফেলতে চাই। আমি চেষ্টা করেছিলাম:

plt.gca().set_xticks([])
plt.xticks([])
ax.set_xticks([])

গ্রিড অদৃশ্য হয়ে যায় (ঠিক আছে), তবে ছোট টিকট (মূল টিকের জায়গায়) রয়ে গেছে। এগুলি কীভাবে সরাবেন?


কিছু সমাধান আমার পক্ষে কার্যকর হয়নি। তবে এখানে উদাহরণগুলির সামান্য পরিবর্তন: ax.set_xticks([], [])এবং এটির সমাধান হয়েছে ...
ট্র্যাভেলট্রেডার

উত্তর:


464

এই জাতীয় tick_paramsজিনিসগুলির জন্য পদ্ধতিটি খুব কার্যকর। এই কোডটি বড় এবং গৌণ টিক্সগুলি বন্ধ করে দেয় এবং এক্স-অক্ষ থেকে লেবেলগুলি সরিয়ে দেয়।

from matplotlib import pyplot as plt
plt.plot(range(10))
plt.tick_params(
    axis='x',          # changes apply to the x-axis
    which='both',      # both major and minor ticks are affected
    bottom=False,      # ticks along the bottom edge are off
    top=False,         # ticks along the top edge are off
    labelbottom=False) # labels along the bottom edge are off
plt.show()
plt.savefig('plot')
plt.clf()

এখানে চিত্র বর্ণনা লিখুন


87
আমি প্রশংসা করি কীভাবে এটি কেবল প্রশ্নের উত্তর দেয় না তবে বেশ কয়েকটি জিনিস বন্ধ / চালু করার জন্য একটি টেম্পলেট সরবরাহ করে। এটি ফলাফল এক্স এবং ওয়াই উভয় অক্ষের জন্য প্রযোজ্য:plt.tick_params(axis='both', which='both', bottom='off', top='off', labelbottom='off', right='off', left='off', labelleft='off')
স্টিভেন সি হাওয়েল

2
যদি এটি থ্রিডি প্লট হয়?
tommy.carstensen

38
এটি একটি দুর্দান্ত উত্তর। Oo সংস্করণটি যারা খুঁজছেন তাদের axesক্ষেত্রেও একই tick_paramsপদ্ধতি রয়েছে।
ম্যাড পদার্থবিজ্ঞানী

22
এর নতুন সংস্করণগুলিতে matplotlibআপনার 'on'সাথে Trueএবং এর 'off'সাথে প্রতিস্থাপন করা উচিত False
বলপয়েন্টবেন

1
ওওপি ইন্টারফেস এবং নতুন সংস্করণ সিনট্যাক্সের জন্য উত্তরটি আপডেট করা উচিত।
ifly6

141

ওপি যা চেয়েছিল ঠিক তা নয়, সমস্ত অক্ষ লাইন, টিক্স এবং লেবেলগুলি অক্ষম করার একটি সহজ উপায়টি কেবল কল করা:

plt.axis('off')

25
আমার যা ধন্যবাদ দরকার ছিল। অবজেক্ট ওরিয়েন্টেড সংস্করণটি ax.axis('off')একটি বিদ্যমান অক্ষের উদাহরণে থাকবে।
প্লাজমাবিন্টুরং

5
শুধু এক্সএক্সিসের জন্য কীভাবে?
qrtLs

82

বিকল্পভাবে, আপনি খালি টিক অবস্থান এবং লেবেল হিসাবে পাস করতে পারেন

# for matplotlib.pyplot
# ---------------------
plt.xticks([], [])
# for axis object
# ---------------
# from Anakhand May 5 at 13:08
# for major ticks
ax.set_xticks([])
# for minor ticks
ax.set_xticks([], minor=True)

8
আপনার যদি একটি বিদ্যমান অক্ষ উদাহরণ রয়েছে, বলুন ax, তবে আপনি এটি ব্যবহার করতে পারেন:ax.set_xticks([], [])
গিলহার্ম সালোম

@ গিলহেরেমসালোমé এটি এখন একটি সতর্কতা উত্থাপন করেছে, "ম্যাটপ্লটলিব ৩.২-এর পরে অবস্থানগতভাবে সেট_স্টিকস () এর ছোটখাটো প্যারামিটারটি পাস করা অবহিত করা হয়েছে; প্যারামিটারটি কী-ওয়ার্ডে পরিণত হবে - পরে কেবল দুটি ছোটখাট প্রকাশ হবে" " এখন সঠিক সমাধান কি?
রাইলান শ্যাফার

2
@RylanSchaeffer ax.set_xticks([])প্রধান এঁটেল পোকা, জন্য ax.set_xticks([], minor=True)ছোটখাট এঁটেল পোকা জন্য। সঙ্গে সমতুল pyplotহয় plt.xticks([])এবং plt.xticks([], minor=True)
আনখন্দ


42

জন ভিনইয়ার্ডের দেওয়া সমাধানের চেয়ে আরও ভাল এবং সহজ সমাধান রয়েছে। ব্যবহার NullLocator:

import matplotlib.pyplot as plt

plt.plot(range(10))
plt.gca().xaxis.set_major_locator(plt.NullLocator())
plt.show()
plt.savefig('plot')

আশা করি এইটি কাজ করবে.


22
"আরও ভাল" বিতর্কযোগ্য তবে বিকল্পের জন্য +1।
যান্ত্রিক_মেট

এই সমাধানটির একটি বৈকল্পিক আমার পক্ষেও কাজ করেছিল যখন লক্ষ্য ছিল মূল চক্রান্তের মধ্যে রেখে কেবলমাত্র "জুম ইন" ইনসেট থেকে xticks সরিয়ে নেওয়া। ব্যবহার করে axins.xaxis.set_major_locator(plt.NullLocator()), axinsবস্তুটি কোথায় ফিরে আসবে axins = zoomed_inset_axes()(ফাংশন থেকে আমদানিকৃত mpl_toolkits.axes_grid1.inset_locator)।
ডেনিস সুমার্স

28

লেবেলগুলি সরানোর জন্য এটি চেষ্টা করুন (তবে টিকগুলি নয়):

import matplotlib.pyplot as plt

plt.setp( ax.get_xticklabels(), visible=False)

উদাহরণ


3
setpপাইল্যাব মোডে রয়েছে, স্বতন্ত্র অক্ষগুলির বিরুদ্ধে ব্যবহার করা যাবে না
ড্যাশী

1
কীভাবে অবজেক্ট ওরিয়েন্টেড ইন্টারফেস?
ifly6

এটিই ছিল একমাত্র উত্তর যা আমার জন্য থ্রিডি প্লটের জন্যও কাজ করেছিল। এর জন্য ধন্যবাদ!
ব্রেন্ট

13

এই স্নিপেটটি কেবলমাত্র xticks মুছে ফেলতে সহায়তা করতে পারে।

from matplotlib import pyplot as plt    
plt.xticks([])

এই স্নিপেটটি xticks এবং yticks উভয়কে সরাতে সহায়তা করতে পারে।

from matplotlib import pyplot as plt    
plt.xticks([]),plt.yticks([])

3
# remove all the ticks (both axes), and tick labels on the Y axis
plt.tick_params(top='off', bottom='off', left='off', right='off', labelleft='off', labelbottom='on')

2
এর অবজেক্ট ওরিয়েন্টেড সংস্করণটি হ'লax.tick_params()
মার্সেলো ভিলা-পাইরেস

1
এছাড়াও, ব্যবহার করে offএবং onহ্রাস করা হয়। MatplotlibDeprecationWarning: Passing one of 'on', 'true', 'off', 'false' as a boolean is deprecated; use an actual boolean (True/False) instead.
মার্সেলো ভিলা-পাইরেস

0

আপনারা যারা সমস্ত টিক্স এবং লেবেলগুলি স্যুইচ করার জন্য একটি শর্ট কমান্ডের সন্ধান করছেন তাদের সাথে ভাল হওয়া উচিত

plt.tick_params(top=False, bottom=False, left=False, right=False, labelleft=False, labelbottom=False)

যা boolসংস্করণ matplotlib> = 2.1.1 থেকে সম্পর্কিত পরামিতিগুলির জন্য টাইপ করতে দেয়

কাস্টম টিক সেটিংসের জন্য, দস্তাবেজগুলি সহায়ক:

https://matplotlib.org/api/_as_gen/matplotlib.axes.Axes.tick_params.html

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.