ম্যাটপ্লোটিলেবতে গৌণ Y- অক্ষগুলিতে একটি y- অক্ষের লেবেল যুক্ত করা


118

আমি বাম y- অক্ষ ব্যবহার করে আই লেবেল যুক্ত plt.ylabelকরতে পারি, তবে আমি কীভাবে এটি দ্বিতীয় y- অক্ষের সাথে যুক্ত করতে পারি?

table = sql.read_frame(query,connection)

table[0].plot(color=colors[0],ylim=(0,100))
table[1].plot(secondary_y=True,color=colors[1])
plt.ylabel('$')

উত্তর:


232

সর্বোত্তম উপায় হ'ল axesসরাসরি অবজেক্টের সাথে যোগাযোগ করা

import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0, 10, 0.1)
y1 = 0.05 * x**2
y2 = -1 *y1

fig, ax1 = plt.subplots()

ax2 = ax1.twinx()
ax1.plot(x, y1, 'g-')
ax2.plot(x, y2, 'b-')

ax1.set_xlabel('X data')
ax1.set_ylabel('Y1 data', color='g')
ax2.set_ylabel('Y2 data', color='b')

plt.show()

উদাহরণ গ্রাফ


বামটির মতো ডান y অক্ষটি কীভাবে পাবেন, আমি বলতে চাইছি নীচে থেকে উপরে, 0 থেকে 5 পর্যন্ত প্রান্তিককরণ করা হয়েছে।
সিগুর

টিকগুলি ওভারল্যাপিং না করে নীল পাঠ্যটি কীভাবে আবর্তিত করবেন?
সিগুর

@ সিগুর আপনাকে দিগন্তআদ্বিতীয়করণ এবং / অথবা উল্লম্ব ক্যালাইনমেন্ট প্যারামিটারটি ax2.set_ylabel এ যাওয়ার সাথে ঝামেলা করতে হবে
পল এইচ

@ পোলহহ, আমি দেখতে পেয়েছি যে আমরা ax1 থেকে y সীমা পেতে পারি এবং এটি ax2 এ সেট করতে পারি, সুতরাং লেবেলের অবস্থানটি সারিবদ্ধ হবে।
সিগুর

@ সিগুর আমি অক্ষর সীমাবদ্ধতা এবং টিকগুলি লেবেল ঘোরার সাথে কীভাবে যোগাযোগ করে তা অনুসরণ করি না তবে আপনি যদি খুশি হন তবে গডস্পিড
পল এইচ

21

ম্যাটপ্ল্লিটিবের সাথে গোলযোগ না করেই একটি সরল সমাধান রয়েছে: কেবল পান্ডাস।

মূল উদাহরণটি স্নাতক করা:

table = sql.read_frame(query,connection)

ax = table[0].plot(color=colors[0],ylim=(0,100))
ax2 = table[1].plot(secondary_y=True,color=colors[1], ax=ax)

ax.set_ylabel('Left axes label')
ax2.set_ylabel('Right axes label')

মূলত, যখন secondary_y=Trueবিকল্পটি দেওয়া হয় (ইভেন্টহফটি ax=axখুব উত্তীর্ণ হয়ে যায়) তখন pandas.plotএকটি ভিন্ন অক্ষ ফিরে আসে যা আমরা লেবেল সেট করতে ব্যবহার করি।

আমি জানি এটির উত্তর অনেক আগেই দেওয়া হয়েছিল তবে আমি মনে করি এই পদ্ধতির পক্ষে এটি মূল্যবান।


ধন্যবাদ - দুর্দান্ত পদ্ধতির! যাইহোক, এটি লক্ষণীয় যে আপনি প্রথমে প্রাথমিক y- অক্ষের উপর চক্রান্ত করলে, দ্বিতীয়টি দ্বিতীয়টি y অক্ষ হিসাবে ঠিক তেমন কাজ করে তবে এটি কাজ করে। আপনি যদি আদেশটি স্যুইচ করেন তবে এটি খারাপ ব্যবহার করে।
ব্যবহারকারী 667489

7

আমার এখনই পাইথনে অ্যাক্সেস নেই, তবে আমার মাথার উপরের অংশটি বন্ধ রয়েছে:

fig = plt.figure()

axes1 = fig.add_subplot(111)
# set props for left y-axis here

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