ম্যাটপ্লটলিব ইলিম মান পাবে


115

আমি পাইথন থেকে matplotlibডেটা প্লট করতে (ব্যবহার plotএবং errorbarফাংশন) ব্যবহার করছি । আমাকে সম্পূর্ণ পৃথক এবং স্বতন্ত্র প্লটের একটি সেট প্লট ylimকরতে হবে এবং তারপরে তাদের মানগুলি সামঞ্জস্য করতে হবে যাতে সেগুলি সহজেই দৃষ্টিভঙ্গির সাথে তুলনা করতে পারে।

আমি কীভাবে ylimপ্রতিটি প্লট থেকে মানগুলি পুনরুদ্ধার করতে পারি , যাতে আমি নিম্ন ও উপরের পাতলা মান যথাক্রমে নূন্যতম এবং সর্বোচ্চ গ্রহণ করতে পারি এবং প্লটগুলিকে সামঞ্জস্য করতে পারি যাতে তাদের চাক্ষুষভাবে তুলনা করা যায়?

অবশ্যই, আমি কেবল ডেটা বিশ্লেষণ করতে এবং নিজের কাস্টম ylimমানগুলি নিয়ে আসতে পারি ... তবে আমি matplotlibআমার জন্য এটি ব্যবহার করতে চাই । কীভাবে সহজে (এবং দক্ষতার সাথে) এটি করা যায় সে সম্পর্কে কোনও পরামর্শ?

এখানে আমার পাইথন ফাংশন যা ব্যবহার করে প্লট করে matplotlib:

import matplotlib.pyplot as plt

def myplotfunction(title, values, errors, plot_file_name):

    # plot errorbars
    indices = range(0, len(values))
    fig = plt.figure()
    plt.errorbar(tuple(indices), tuple(values), tuple(errors), marker='.')

    # axes
    axes = plt.gca()
    axes.set_xlim([-0.5, len(values) - 0.5])
    axes.set_xlabel('My x-axis title')
    axes.set_ylabel('My y-axis title')

    # title
    plt.title(title)

    # save as file
    plt.savefig(plot_file_name)

    # close figure
    plt.close(fig)

উত্তর:


159

শুধু ব্যবহার axes.get_ylim(), এটি খুব অনুরূপ set_ylimডক্স থেকে :

get_ylim ()

Y- অক্ষের পরিসর পান [নীচে, শীর্ষে]


2
অক্ষ সীমা ছাড়াই গ্রাফের ক্ষেত্রের সীমাটি পাওয়ার কোনও উপায় আছে? কালো আবদ্ধ আয়তক্ষেত্রটি এই মানগুলির বাইরে কিছুটা।
পিটার এহরিলিচ

@ পিটারএরলিচ এটি কেবল মার্জিন।
ilija139

11
আমি plt.gca().get_ylim()সুবিধাজনক বলে মনে করি - অতিরিক্ত অক্ষ সংজ্ঞার দরকার নেই।
ম্যাথিয়াস আরাস

বিকল্পভাবে, আমি ব্যবহার করতে পছন্দ করি fig, ax = plt.subplots()এবং তারপরে আমার সমস্ত ফাংশনগুলি figax
যেকোন

34
 ymin, ymax = axes.get_ylim()

আপনি যদি pltসরাসরি এপিআই ব্যবহার করে থাকেন তবে আপনি অক্ষগুলিতে পুরোপুরি কল এড়াতে পারবেন:

def myplotfunction(title, values, errors, plot_file_name):

    # plot errorbars
    indices = range(0, len(values))
    fig = plt.figure()
    plt.errorbar(tuple(indices), tuple(values), tuple(errors), marker='.')

    plt.xlim([-0.5, len(values) - 0.5])
    plt.xlabel('My x-axis title')
    plt.ylabel('My y-axis title')

    # title
    plt.title(title)

    # save as file
    plt.savefig(plot_file_name)

   # close figure
    plt.close(fig)

10

উপরের ভাল উত্তর থেকে লাভ এবং ধরে নিচ্ছেন যে আপনি কেবল প্লট হিসাবে ব্যবহার করছেন

import matplotlib.pyplot as plt

তাহলে আপনি plt.axis()নিম্নলিখিত উদাহরণ হিসাবে ব্যবহার করে চারটি প্লটের সীমা পেতে পারেন ।

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5, 6, 7, 8]  # fake data
y = [1, 2, 3, 4, 3, 2, 5, 6]

plt.plot(x, y, 'k')

xmin, xmax, ymin, ymax = plt.axis()

s = 'xmin = ' + str(round(xmin, 2)) + ', ' + \
    'xmax = ' + str(xmax) + '\n' + \
    'ymin = ' + str(ymin) + ', ' + \
    'ymax = ' + str(ymax) + ' '

plt.annotate(s, (1, 5))

plt.show()

উপরের কোডটি নিম্নলিখিত আউটপুট প্লট তৈরি করতে হবে। এখানে চিত্র বর্ণনা লিখুন

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