ম্যাটপ্লোটিলেবতে উল্লম্ব ও অনুভূমিক রেখা


122

আমি কেন নির্দিষ্ট সীমাতে অনুভূমিক এবং উল্লম্ব লাইন তৈরি করতে অক্ষম তা আমি যথেষ্ট বুঝতে পারি না। আমি এই বাক্স দ্বারা ডেটা আবদ্ধ করতে চাই। তবে পক্ষগুলি আমার নির্দেশাবলী মেনে চলবে বলে মনে হয় না। কেন?

# CREATING A BOUNDING BOX
# BOTTOM HORIZONTAL
plt.axhline(y=.4, xmin=0.25, xmax=0.402, linewidth=2, color = 'k')
# RIGHT VERTICAL
plt.axvline(x=0.402, ymin=0.4, ymax = 0.615, linewidth=2, color='k')
# LEFT VERTICAL
plt.axvline(x=0.1, ymin=0.58, ymax = 0.79, linewidth=2, color='k')
plt.show()

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

উত্তর:


166

পাইপলট ফাংশনগুলি যা আপনি কল করছেন axhline()এবং axvline()লাইনগুলি আঁকুন যা অক্ষের পরিসীমাটির একটি অংশ ছড়িয়ে দেয়, স্থানাঙ্ক নির্বিশেষে। প্যারামিটারগুলি xminবা yminঅক্ষটির সর্বনিম্ন হিসাবে মান 0 এবং সর্বোচ্চ অক্ষ হিসাবে 1.0 ব্যবহার করুন।

পরিবর্তে, plt.plot((x1, x2), (y1, y2), 'k-')রঙের কেতে বিন্দু (x1, y1) থেকে বিন্দু (x2, y2) পর্যন্ত একটি লাইন আঁকতে ব্যবহার করুন । দেখুন pyplot.plot


3
matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.axhline <- ডকুমেন্টেশন। এই লিঙ্কটি অন্তর্ভুক্ত করার জন্য আপনার নিজের উত্তরটি সম্পাদনা করা উচিত
টাকাসওয়েল

15
অনুভূমিক এবং উল্লম্ব লাইন প্লটে বিভক্ত আরেকটি সমাধান ব্যবহার করা hlinesবা vlinesযথাক্রমে, এই একটি নিয়মিত তুলনায় আরো তুচ্ছ হয় plotনিচ
sodd

20

উল্লম্ব এবং অনুভূমিক রেখা আঁকতে ম্যাটপ্ল্লিটিবের নতুন ব্যবহারকারীদের পক্ষে এটি একটি সাধারণ সমস্যা হতে পারে। এই সমস্যাটি বোঝার জন্য, আপনাকে সচেতন হওয়া উচিত যে ম্যাটপ্ল্লোলিবটিতে বিভিন্ন স্থানাঙ্ক ব্যবস্থা বিদ্যমান

পদ্ধতি axhline এবং axvline আঁকা এ লাইন ব্যবহার করা হয় অক্ষ তুল্য । এই স্থানাঙ্ক সিস্টেমে নীচের বামদিকের জন্য স্থানাঙ্ক (0,0) হয়, যখন শীর্ষস্থ ডান পয়েন্টের জন্য স্থানাঙ্ক (1,1) হয়, আপনার প্লটের ডেটা পরিসর নির্বিশেষে। উভয় প্যারামিটার xminএবং xmax[0,1] এর মধ্যে রয়েছে।

অন্যদিকে, পদ্ধতি hlines এবং vlines আঁকা এ লাইন ব্যবহৃত হয় তথ্য তুল্য । জন্য পরিসীমা xminএবং xmaxx অক্ষ এর ডেটা সীমা এর সীমার মধ্যে হয়।

আসুন একটি নিখুঁত উদাহরণ গ্রহণ করা যাক,

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 5, 100)
y = np.sin(x)

fig, ax = plt.subplots()

ax.plot(x, y)
ax.axhline(y=0.5, xmin=0.0, xmax=1.0, color='r')
ax.hlines(y=0.6, xmin=0.0, xmax=1.0, color='b')

plt.show()

এটি নিম্নলিখিত প্লট উত্পাদন করবে: এখানে চিত্র বর্ণনা লিখুন

জন্য মান xminএবং xmaxজন্য একই axhlineএবং hlinesপদ্ধতি। তবে উত্পাদিত লাইনের দৈর্ঘ্য আলাদা।


16

আপনি যদি একটি বাউন্ডিং বাক্স যুক্ত করতে চান তবে একটি আয়তক্ষেত্রটি ব্যবহার করুন:

ax = plt.gca()
r = matplotlib.patches.Rectangle((.5, .5), .25, .1, fill=False)
ax.add_artist(r)

Rectangle ডক

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