উপরের সীমাটির জন্য কীভাবে 'অটো' সেট করবেন, তবে ম্যাটপ্লটলিব.পাইপ্লট সহ একটি নির্দিষ্ট নিম্ন সীমা রাখুন


112

আমি y- অক্ষের উপরের সীমাটি 'অটো' তে সেট করতে চাই, তবে আমি y- অক্ষের নীচের সীমাটি সর্বদা শূন্য রাখতে চাই। আমি 'অটো' এবং 'অটোরেঞ্জ' চেষ্টা করেছি, তবে এগুলি কাজ করছে বলে মনে হয় না। তুমাকে অগ্রিম ধন্যবাদ.

আমার কোডটি এখানে:

import matplotlib.pyplot as plt

def plot(results_plt,title,filename):

    ############################
    # Plot results

    # mirror result table such that each parameter forms an own data array
    plt.cla()
    #print results_plt
    XY_results = []

    XY_results = zip( *results_plt)

    plt.plot(XY_results[0], XY_results[2], marker = ".")

    plt.title('%s' % (title) )
    plt.xlabel('Input Voltage [V]')
    plt.ylabel('Input Current [mA]')

    plt.grid(True)
    plt.xlim(3.0, 4.2)  #***I want to keep these values fixed"
    plt.ylim([0, 80]) #****CHANGE**** I want to change '80' to auto, but still keep 0 as the lower limit 
    plt.savefig(path+filename+'.png')

উত্তর:


104

আপনি শুধু পাস করতে পারেন leftবা rightকরতে set_xlim:

plt.gca().set_xlim(left=0)

Y অক্ষের জন্য, ব্যবহার করুন bottomবা top:

plt.gca().set_ylim(bottom=0)

1
আমি set_ylim এর বাম পাশ দিয়ে যাওয়ার সময় আমার একটি ত্রুটি হয়েছিল। পরিবর্তে আমি এটি ব্যবহার করেছি: plt.gca ()। Set_ylim (ymin = 0) আপনার সহায়তার জন্য আপনাকে ধন্যবাদ।
ভিটনেস্টি

আপনি বর্তমান অক্ষের সীমা নির্ধারণ করতে plt.xlimবা ব্যবহার করতে পারেন plt.ylim
ক্রিস

26
আমি যখন এটি করি তখন উপরের সীমাটি উইন্ডোটি যে পরিমাণ মান সঞ্চারিত করে তা আটকে যায় It এটি স্বয়ংক্রিয়-স্কেলিং থেকে যায় না।
এলিয়ট

8
এখানে ইলিয়ট হিসাবে একই সমস্যা। মানগুলি প্লট করার পরে (একতরফা) ইলিম / এক্সলিম সেট করে স্থির করা যায়।
ফেবিয়ানফুচস

5
ডেটা প্লট করার পরে সীমাটি নির্ধারণের বিষয়টি নিশ্চিত করুন, বা উপরের সীমাটি ডিফল্ট হবে 1
কলা

37

xlimসীমাবদ্ধতার মধ্যে একটির জন্য কেবল সেট করুন :

plt.xlim(xmin=0)

5
xminএবং ম্যাটপ্ল্লিটিব ৩.০ xmaxএর পক্ষে leftএবং rightঅবমাননা করা হয়েছে।
ওয়ানওয়ালিড

12

পূর্বোক্ত হিসাবে এবং ম্যাটপ্ল্লোব ডকুমেন্টেশন অনুসারে শ্রেণীর পদ্ধতি axব্যবহার করে প্রদত্ত অক্ষের এক্স-সীমা নির্ধারণ করা যেতে পারে ।set_xlimmatplotlib.axes.Axes

এই ক্ষেত্রে,

>>> ax.set_xlim(left_limit, right_limit)
>>> ax.set_xlim((left_limit, right_limit))
>>> ax.set_xlim(left=left_limit, right=right_limit)

একটি সীমা অপরিবর্তিত থাকতে পারে (যেমন বাম সীমা):

>>> ax.set_xlim((None, right_limit))
>>> ax.set_xlim(None, right_limit)
>>> ax.set_xlim(left=None, right=right_limit)
>>> ax.set_xlim(right=right_limit)

বর্তমান অক্ষের এক্স-সীমা নির্ধারণ করতে, matplotlib.pyplotমডিউলে এমন xlimফাংশন রয়েছে যা কেবল psেকে দেয় matplotlib.pyplot.gcaএবং matplotlib.axes.Axes.set_xlim

def xlim(*args, **kwargs):
    ax = gca()
    if not args and not kwargs:
        return ax.get_xlim()
    ret = ax.set_xlim(*args, **kwargs)
    return ret

একইভাবে, ওয়াই-সীমাগুলির জন্য, ব্যবহার করুন matplotlib.axes.Axes.set_ylimবা matplotlib.pyplot.ylim। মূলশব্দ আর্গুমেন্ট topএবং হয় bottom


3

@ সিলভিওর জন্য কেবল একটি পয়েন্ট যুক্ত করুন: আপনি যদি প্লট করতে অক্ষ ব্যবহার করেন figure, ax1 = plt.subplots(1,2,1)। তারপরেও ax1.set_xlim(xmin = 0)কাজ করে!

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