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


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.