আপনি plt.scatterএকটি cযুক্তি পাস করতে পারেন যা আপনাকে রঙগুলি নির্বাচন করতে দেয়। নীচের কোডটি colorsআপনার ডায়মন্ডের রঙগুলি প্লট করার রঙগুলিতে মানচিত্র করতে একটি অভিধানকে সংজ্ঞায়িত করে ।
import matplotlib.pyplot as plt
import pandas as pd
carat = [5, 10, 20, 30, 5, 10, 20, 30, 5, 10, 20, 30]
price = [100, 100, 200, 200, 300, 300, 400, 400, 500, 500, 600, 600]
color =['D', 'D', 'D', 'E', 'E', 'E', 'F', 'F', 'F', 'G', 'G', 'G',]
df = pd.DataFrame(dict(carat=carat, price=price, color=color))
fig, ax = plt.subplots()
colors = {'D':'red', 'E':'blue', 'F':'green', 'G':'black'}
ax.scatter(df['carat'], df['price'], c=df['color'].apply(lambda x: colors[x]))
plt.show()
df['color'].apply(lambda x: colors[x]) কার্যকরভাবে "হীরা" থেকে "চক্রান্ত করা" পর্যন্ত রঙের মানচিত্রগুলি।
(অন্য উদাহরণ চিত্র না রাখার জন্য আমাকে ক্ষমা করুন, আমি মনে করি 2 টি যথেষ্ট: পি)
সঙ্গে seaborn
আপনি যে seabornচারপাশে একটি মোড়ক ব্যবহার করতে পারেন matplotlibএটি এটি ডিফল্টরূপে সুন্দর দেখায় (বরং মতামতভিত্তিক, আমি জানি: পি) তবে কিছু প্লটিং ফাংশন যুক্ত করে।
এই জন্য আপনি ব্যবহার করতে পারে seaborn.lmplotসঙ্গে fit_reg=False(যা এটি স্বয়ংক্রিয়ভাবে কিছু রিগ্রেশন কাজ করা থেকে আটকায়)।
নীচের কোডটি উদাহরণস্বরূপ ডেটাসেট ব্যবহার করে। hue='color'আপনি নির্বাচনের মাধ্যমে সমুদ্র সৈকতকে আপনার রঙের উপর ভিত্তি করে আপনার ডেটা ফ্রেম বিভক্ত করতে এবং তারপরে প্রতিটি প্লট করতে বলুন tell
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
carat = [5, 10, 20, 30, 5, 10, 20, 30, 5, 10, 20, 30]
price = [100, 100, 200, 200, 300, 300, 400, 400, 500, 500, 600, 600]
color =['D', 'D', 'D', 'E', 'E', 'E', 'F', 'F', 'F', 'G', 'G', 'G',]
df = pd.DataFrame(dict(carat=carat, price=price, color=color))
sns.lmplot('carat', 'price', data=df, hue='color', fit_reg=False)
plt.show()

seabornব্যবহার না করেpandas.groupby
আপনি যদি সামুদ্রিক অংশ ব্যবহার করতে না চান তবে আপনি pandas.groupbyএকা রঙগুলি পেতে ব্যবহার করতে পারেন এবং তারপরে কেবল ম্যাটপ্ল্লোলিব ব্যবহার করে প্লট করতে পারেন তবে আপনাকে যেতে যেতে ম্যানুয়ালি রঙ বরাদ্দ করতে হবে, আমি নীচে একটি উদাহরণ যুক্ত করেছি:
fig, ax = plt.subplots()
colors = {'D':'red', 'E':'blue', 'F':'green', 'G':'black'}
grouped = df.groupby('color')
for key, group in grouped:
group.plot(ax=ax, kind='scatter', x='carat', y='price', label=key, color=colors[key])
plt.show()
এই কোডটি উপরের মতো একই ডেটাফ্রেমকে ধরে নেয় এবং তারপরে এটির ভিত্তিতে গোষ্ঠী করে color। এটি এরপরে এই গোষ্ঠীগুলির উপরে পুনরুক্তি করে প্রতিটিটির জন্য প্লট করে। একটি রঙ নির্বাচন করতে আমি একটি colorsঅভিধান তৈরি করেছি যা ডায়মন্ডের রঙকে ম্যাপ করতে পারে (উদাহরণস্বরূপ D) একটি সত্য রঙে (উদাহরণস্বরূপ red)।
