ম্যাটপ্লোটিলেব নামকরণ করা রঙ


259

প্লটগুলিতে ব্যবহারের জন্য কী নামযুক্ত রঙগুলি ম্যাটপ্লটলিবতে পাওয়া যায়? আমি ম্যাটপ্ল্লোব ডকুমেন্টেশনে একটি তালিকা পেতে পারি যা দাবি করে যে এগুলি কেবলমাত্র নাম:

b: blue
g: green
r: red
c: cyan
m: magenta
y: yellow
k: black
w: white

তবে, আমি খুঁজে পেয়েছি যে এই রঙগুলিও ব্যবহার করা যেতে পারে, কমপক্ষে এই প্রসঙ্গে:

scatter(X,Y, color='red')
scatter(X,Y, color='orange')
scatter(X,Y, color='darkgreen')

তবে এগুলি উপরের তালিকায় নেই। উপলব্ধ রঙিনগুলির একটি সম্পূর্ণ তালিকা কি কেউ জানতে পারে?


4
মূলত, এটি সমস্ত এইচটিএমএল রঙের নাম, তাই আপনি বেশ কয়েকটি দুর্দান্ত চার্ট চাইলে আপনি সর্বদা "HTML রঙগুলি" গুগল করতে পারেন। নীচে @ বোশওয়াশের দুর্দান্ত উত্তরটি আপনাকে সঠিক তালিকা দিবে, যদিও।
জো কিংটন

14
এছাড়া এই চমৎকার ছবি matplotlib.org

এটি একটি সুন্দর ছবি, আমি সম্ভবত এটি লক্ষ্য করা উচিত ছিল। সত্যি কথা বলতে গেলে, আমি এই প্রশ্নটি পোস্ট করার এক মাস আগে এটি প্রথম পোস্ট করা হয়েছিল এবং আমি নিশ্চিত যে এই প্রশ্নের উত্তরের জন্য আমি এর আগেও অনেকবার ডক্সের মাধ্যমে অনুসন্ধান করেছি।
টিসি প্রক্টর

উত্তর:


303

আমি ক্রমাগত যে রঙগুলি ব্যবহার করতে চাই তার নামগুলি ভুলে যাই এবং এই প্রশ্নে ফিরে আসা = =)

পূর্ববর্তী উত্তরগুলি দুর্দান্ত, তবে পোস্ট হওয়া চিত্র থেকে পাওয়া রঙগুলির একটি ওভারভিউ পাওয়া আমার পক্ষে কিছুটা কঠিন find আমি অনুরূপ রঙগুলির সাথে রঙগুলিকে শ্রেণীবদ্ধ করতে পছন্দ করি, তাই কলামগুলিতে বাছাই করা রঙিন তালিকা পেতে উপরের মন্তব্যে উল্লিখিত ম্যাটপ্লটলিব উত্তরটি আমি সামান্য টিক করেছিলাম । অর্ডারটি আমি কীভাবে চোখের অনুসারে বাছাই করব তার অনুরূপ নয়, তবে আমি মনে করি এটি একটি ভাল ওভারভিউ দেয়।

আমি এই চিত্রটি এবং কোডটি আপডেট করেছি যাতে প্রতিবিম্বিত হয় যে 'রেবেকাপুরল' যুক্ত হয়েছে এবং আমি এই উত্তরটি মূলত পোস্ট করার পরে তিনটি ageষি বর্ণকে 'xkcd:' উপসর্গের অধীন স্থানান্তরিত করা হয়েছে।

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

আমি ম্যাটপ্লটলিব উদাহরণ থেকে সত্যিই খুব বেশি পরিবর্তন করি নি, তবে এখানে সম্পূর্ণতার কোড the

import matplotlib.pyplot as plt
from matplotlib import colors as mcolors


colors = dict(mcolors.BASE_COLORS, **mcolors.CSS4_COLORS)

# Sort colors by hue, saturation, value and name.
by_hsv = sorted((tuple(mcolors.rgb_to_hsv(mcolors.to_rgba(color)[:3])), name)
                for name, color in colors.items())
sorted_names = [name for hsv, name in by_hsv]

n = len(sorted_names)
ncols = 4
nrows = n // ncols

fig, ax = plt.subplots(figsize=(12, 10))

# Get height and width
X, Y = fig.get_dpi() * fig.get_size_inches()
h = Y / (nrows + 1)
w = X / ncols

for i, name in enumerate(sorted_names):
    row = i % nrows
    col = i // nrows
    y = Y - (row * h) - h

    xi_line = w * (col + 0.05)
    xf_line = w * (col + 0.25)
    xi_text = w * (col + 0.3)

    ax.text(xi_text, y, name, fontsize=(h * 0.8),
            horizontalalignment='left',
            verticalalignment='center')

    ax.hlines(y + h * 0.1, xi_line, xf_line,
              color=colors[name], linewidth=(h * 0.8))

ax.set_xlim(0, X)
ax.set_ylim(0, Y)
ax.set_axis_off()

fig.subplots_adjust(left=0, right=1,
                    top=1, bottom=0,
                    hspace=0, wspace=0)
plt.show()

অতিরিক্ত নামযুক্ত রঙ

2017-10-25 আপডেট হয়েছে। আমি আমার পূর্ববর্তী আপডেটগুলি এই বিভাগে একীভূত করেছি।

xkcd

আপনি যদি ম্যাটপ্ল্লোলিবের সাথে প্লট করার সময় অতিরিক্ত নামযুক্ত রং ব্যবহার করতে চান, আপনি 'xkcd:' উপসর্গের মাধ্যমে xkcd ভিড়স্রোর্সযুক্ত রঙের নাম ব্যবহার করতে পারেন :

plt.plot([1,2], lw=4, c='xkcd:baby poop green')

এখন আপনি নামযুক্ত রঙের আধিক্য অ্যাক্সেস আছে!

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

মনের উপরে স্পষ্ট ছবির ন্যায় ছাপ

ডিফল্ট টেবিলের রঙগুলি 'ট্যাব:' উপসর্গের মাধ্যমে ম্যাটপ্ল্লোলিবতে উপলব্ধ:

plt.plot([1,2], lw=4, c='tab:green')

দশটি স্বতন্ত্র রঙ রয়েছে:

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

এইচটিএমএল

আপনি তাদের এইচটিএমএল হেক্স কোড দ্বারা রঙগুলিও প্লট করতে পারেন :

plt.plot([1,2], lw=4, c='#8f9805')

এটি বর্ণিত বর্ণের চেয়ে নির্দিষ্টকরণ এবং আরজিবি টুপলের সাথে আরও অনুরূপ (হেক্স কোডটি স্ট্রিং হিসাবে পাস করার বিষয়টি বাদে), এবং আপনি যে 16 মিলিয়ন রঙ বেছে নিতে পারেন তার কোনও চিত্র আমি অন্তর্ভুক্ত করব না ...


আরও বিশদের জন্য, দয়া করে ম্যাটপ্ল্লোব রঙের ডকুমেন্টেশন এবং উপলভ্য রঙগুলি নির্দিষ্ট করে উত্স ফাইলটি দেখুন _color_data.py



প্লটের জন্য ধন্যবাদ! কৌতূহলের বাইরে 'y' আসলে 'হলুদ' থেকে আলাদা? প্রথম চক্রান্ত তাদের বিভিন্ন রঙ হিসাবে আছে।
কম্পিউটার

1
@ কম্পিউটারসায়েন্টিস্ট হ্যাঁ, এই গিথুব ইস্যু এবং লিঙ্কযুক্ত মেলিং তালিকার আলোচনার ভিত্তিতে একক বর্ণ বর্ণগুলি তাদের মতলব সমকক্ষের উপর ভিত্তি করে আরবিজি মান বরাদ্দ করা হয়েছে, যদিও পুরো নামটি এইচটিএমএল বর্ণের সাথে সামঞ্জস্য করে। মতলব একক বর্ণের বর্ণগুলি বর্তমানে এইচটিএমএল স্ট্যান্ডার্ডকেও অনুসরণ করে, সুতরাং আমি নিশ্চিত নই যে এটি সাম্প্রতিক মতলব পরিবর্তন কিনা বা ম্যাটপ্ল্লোলিব একক বর্ণের বর্ণগুলি দৃশ্যমানতার মতো কারণে টুইক / বেছে নেওয়া হয়েছিল, যা আলোচনায় উল্লেখ করা হয়েছিল।
joelostblom

@ অ্যাড্রিয়ানটিরি: আপনি অতিরিক্ত নিজের 'ধন্যবাদ' হিসাবে বেছে নেওয়ার জন্য আপনার নিজের অনুদানের পুরস্কার দিতে পারেন! একটি উত্তম পুরষ্কার এই উত্তরটিকে হাইলাইট করে এবং উত্তরদাতাকে অতিরিক্ত পয়েন্ট দেয়।
শারিলহোহমান

এটি আপ টু ডেট রাখার জন্য ধন্যবাদ!
রকজেক 28

@ জোয়েলস্টব্লম, এক্স কেসিডি রঙের চক্রান্তে, রঙের নামের (কালো রঙের) পাশে আপনি কীভাবে ধূসর বর্ণের হেক্স কোডগুলি পেয়েছিলেন?
এম মেল্নিকি 18

312

ম্যাটপ্লটলিব এর রং.পি মডিউল থেকে একটি অভিধান ব্যবহার করে।

নামগুলি মুদ্রণ করতে ব্যবহার করুন:

# python2:

import matplotlib
for name, hex in matplotlib.colors.cnames.iteritems():
    print(name, hex)

# python3:

import matplotlib
for name, hex in matplotlib.colors.cnames.items():
    print(name, hex)

এটি সম্পূর্ণ অভিধান:

cnames = {
'aliceblue':            '#F0F8FF',
'antiquewhite':         '#FAEBD7',
'aqua':                 '#00FFFF',
'aquamarine':           '#7FFFD4',
'azure':                '#F0FFFF',
'beige':                '#F5F5DC',
'bisque':               '#FFE4C4',
'black':                '#000000',
'blanchedalmond':       '#FFEBCD',
'blue':                 '#0000FF',
'blueviolet':           '#8A2BE2',
'brown':                '#A52A2A',
'burlywood':            '#DEB887',
'cadetblue':            '#5F9EA0',
'chartreuse':           '#7FFF00',
'chocolate':            '#D2691E',
'coral':                '#FF7F50',
'cornflowerblue':       '#6495ED',
'cornsilk':             '#FFF8DC',
'crimson':              '#DC143C',
'cyan':                 '#00FFFF',
'darkblue':             '#00008B',
'darkcyan':             '#008B8B',
'darkgoldenrod':        '#B8860B',
'darkgray':             '#A9A9A9',
'darkgreen':            '#006400',
'darkkhaki':            '#BDB76B',
'darkmagenta':          '#8B008B',
'darkolivegreen':       '#556B2F',
'darkorange':           '#FF8C00',
'darkorchid':           '#9932CC',
'darkred':              '#8B0000',
'darksalmon':           '#E9967A',
'darkseagreen':         '#8FBC8F',
'darkslateblue':        '#483D8B',
'darkslategray':        '#2F4F4F',
'darkturquoise':        '#00CED1',
'darkviolet':           '#9400D3',
'deeppink':             '#FF1493',
'deepskyblue':          '#00BFFF',
'dimgray':              '#696969',
'dodgerblue':           '#1E90FF',
'firebrick':            '#B22222',
'floralwhite':          '#FFFAF0',
'forestgreen':          '#228B22',
'fuchsia':              '#FF00FF',
'gainsboro':            '#DCDCDC',
'ghostwhite':           '#F8F8FF',
'gold':                 '#FFD700',
'goldenrod':            '#DAA520',
'gray':                 '#808080',
'green':                '#008000',
'greenyellow':          '#ADFF2F',
'honeydew':             '#F0FFF0',
'hotpink':              '#FF69B4',
'indianred':            '#CD5C5C',
'indigo':               '#4B0082',
'ivory':                '#FFFFF0',
'khaki':                '#F0E68C',
'lavender':             '#E6E6FA',
'lavenderblush':        '#FFF0F5',
'lawngreen':            '#7CFC00',
'lemonchiffon':         '#FFFACD',
'lightblue':            '#ADD8E6',
'lightcoral':           '#F08080',
'lightcyan':            '#E0FFFF',
'lightgoldenrodyellow': '#FAFAD2',
'lightgreen':           '#90EE90',
'lightgray':            '#D3D3D3',
'lightpink':            '#FFB6C1',
'lightsalmon':          '#FFA07A',
'lightseagreen':        '#20B2AA',
'lightskyblue':         '#87CEFA',
'lightslategray':       '#778899',
'lightsteelblue':       '#B0C4DE',
'lightyellow':          '#FFFFE0',
'lime':                 '#00FF00',
'limegreen':            '#32CD32',
'linen':                '#FAF0E6',
'magenta':              '#FF00FF',
'maroon':               '#800000',
'mediumaquamarine':     '#66CDAA',
'mediumblue':           '#0000CD',
'mediumorchid':         '#BA55D3',
'mediumpurple':         '#9370DB',
'mediumseagreen':       '#3CB371',
'mediumslateblue':      '#7B68EE',
'mediumspringgreen':    '#00FA9A',
'mediumturquoise':      '#48D1CC',
'mediumvioletred':      '#C71585',
'midnightblue':         '#191970',
'mintcream':            '#F5FFFA',
'mistyrose':            '#FFE4E1',
'moccasin':             '#FFE4B5',
'navajowhite':          '#FFDEAD',
'navy':                 '#000080',
'oldlace':              '#FDF5E6',
'olive':                '#808000',
'olivedrab':            '#6B8E23',
'orange':               '#FFA500',
'orangered':            '#FF4500',
'orchid':               '#DA70D6',
'palegoldenrod':        '#EEE8AA',
'palegreen':            '#98FB98',
'paleturquoise':        '#AFEEEE',
'palevioletred':        '#DB7093',
'papayawhip':           '#FFEFD5',
'peachpuff':            '#FFDAB9',
'peru':                 '#CD853F',
'pink':                 '#FFC0CB',
'plum':                 '#DDA0DD',
'powderblue':           '#B0E0E6',
'purple':               '#800080',
'red':                  '#FF0000',
'rosybrown':            '#BC8F8F',
'royalblue':            '#4169E1',
'saddlebrown':          '#8B4513',
'salmon':               '#FA8072',
'sandybrown':           '#FAA460',
'seagreen':             '#2E8B57',
'seashell':             '#FFF5EE',
'sienna':               '#A0522D',
'silver':               '#C0C0C0',
'skyblue':              '#87CEEB',
'slateblue':            '#6A5ACD',
'slategray':            '#708090',
'snow':                 '#FFFAFA',
'springgreen':          '#00FF7F',
'steelblue':            '#4682B4',
'tan':                  '#D2B48C',
'teal':                 '#008080',
'thistle':              '#D8BFD8',
'tomato':               '#FF6347',
'turquoise':            '#40E0D0',
'violet':               '#EE82EE',
'wheat':                '#F5DEB3',
'white':                '#FFFFFF',
'whitesmoke':           '#F5F5F5',
'yellow':               '#FFFF00',
'yellowgreen':          '#9ACD32'}

আপনি তাদের এইভাবে চক্রান্ত করতে পারেন:

import matplotlib.pyplot as plt
import matplotlib.patches as patches
import matplotlib.colors as colors
import math


fig = plt.figure()
ax = fig.add_subplot(111)

ratio = 1.0 / 3.0
count = math.ceil(math.sqrt(len(colors.cnames)))
x_count = count * ratio
y_count = count / ratio
x = 0
y = 0
w = 1 / x_count
h = 1 / y_count

for c in colors.cnames:
    pos = (x / x_count, y / y_count)
    ax.add_patch(patches.Rectangle(pos, w, h, color=c))
    ax.annotate(c, xy=pos)
    if y >= y_count-1:
        x += 1
        y = 0
    else:
        y += 1

plt.show()

1
উত্তরের জন্য ধন্যবাদ, আমি ঠিক এটিই খুঁজছিলাম। আমি @ জো কিংটনের মন্তব্যের সাথে সম্মিলিতভাবে মনে করি, অনেকগুলি ঘাঁটি কভার করা হয়েছে।
টিসি প্রক্টর

এখানে আপনি আরজিবি মানগুলিও
pceccon

আপনি যদি অনলাইনে নামযুক্ত রঙগুলির ভিজ্যুয়াল তালিকার একটি তাত্ক্ষণিক দৃষ্টি চান তবে: matplotlib.org/example/color/ নাম_colors.html
বলপয়েন্টবেেন

145

বোশওয়াশের উত্তর ছাড়াও, এখানে তার কোড দ্বারা নির্মিত ছবি:

নামকরণ করা রঙ


10

প্লটগুলিতে ব্যবহারের জন্য রঙগুলির একটি সম্পূর্ণ তালিকা পেতে:

import matplotlib.colors as colors
colors_list = list(colors._colors_full_map.values())

সুতরাং, আপনি দ্রুত সেভাবে ব্যবহার করতে পারেন:

scatter(X,Y, color=colors_list[0])
scatter(X,Y, color=colors_list[1])
scatter(X,Y, color=colors_list[2])
...
scatter(X,Y, color=colors_list[-1])

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