একই প্লটটিতে একাধিক সিরিজ প্রদর্শনের জন্য রঙগুলির সেরা সেটগুলি কী তা নিয়ে কোনও গবেষণা করা হয়েছে? আমি সবেমাত্র ডিফল্ট ব্যবহার করেছি matplotlib
এবং এগুলি সমস্ত উজ্জ্বল, প্রাথমিক রঙের হওয়ায় তারা কিছুটা বাচ্চা দেখাচ্ছে।
একই প্লটটিতে একাধিক সিরিজ প্রদর্শনের জন্য রঙগুলির সেরা সেটগুলি কী তা নিয়ে কোনও গবেষণা করা হয়েছে? আমি সবেমাত্র ডিফল্ট ব্যবহার করেছি matplotlib
এবং এগুলি সমস্ত উজ্জ্বল, প্রাথমিক রঙের হওয়ায় তারা কিছুটা বাচ্চা দেখাচ্ছে।
উত্তর:
রঙ প্যালেট চয়ন করার জন্য একটি সাধারণ রেফারেন্স হ'ল কালারব্রেভারে সিন্থিয়া ব্রুয়ারের কাজ । কালোরোপথ মানচিত্রে ধারণাগত নিদর্শনগুলির ভিত্তিতে রঙগুলি বেছে নেওয়া হয়েছিল, তবে একই পরামর্শের বেশিরভাগ ক্ষেত্রে ডেটা নিদর্শনগুলি পৃথক করতে কোনও ধরণের প্লটে রঙ ব্যবহার করার ক্ষেত্রে প্রযোজ্য। যদি রঙটি সম্পূর্ণরূপে বিভিন্ন লাইনের মধ্যে পার্থক্য করে তবে একটি গুণগত প্যালেটটি ক্রমযুক্ত।
প্রায়শই কয়েকটি লাইন যুক্ত লাইনের প্লটগুলিতে রঙের প্রয়োজন হয় না এবং বিভিন্ন পয়েন্ট চিহ্ন এবং / অথবা ড্যাশ নিদর্শনগুলি যথেষ্ট কার্যকর। লাইন প্লটগুলির সাথে আরও একটি সাধারণ সমস্যা হ'ল লাইনগুলি যদি প্রায়শই ওভারল্যাপ হয় তবে আপনি কোন চিহ্ন বা রঙ ব্যবহার করুন না কেন বিভিন্ন প্যাটার্নগুলির পার্থক্য করা কঠিন। স্টিফেন কোসলিন একটি প্লটে মাত্র 4 টি লাইন থাকার জন্য থাম্বের একটি সাধারণ নিয়ম সুপারিশ করেন। আপনার যদি আরও কিছু থাকে তবে ছোট একাধিক প্লটের সিরিজগুলিতে লাইনগুলি বিভক্ত করার বিষয়টি বিবেচনা করুন। এখানে একটি উদাহরণ যা প্রস্তাব দেখায়
কোনও রঙের প্রয়োজন নেই এবং লেবেলগুলি পর্যাপ্ত পরিমাণের চেয়ে বেশি।
অন্যান্য উত্তরে বেশ উল্লেখযোগ্যভাবে ভাল পরামর্শ, তবে এখানে শিক্ষার্থীদের আমার নিজের নিম্ন-স্তরের পরামর্শ থেকে কিছু অতিরিক্ত পয়েন্ট দেওয়া হয়েছে। মূল প্রশ্নগুলি সম্পর্কে ভাবতে ভাবতে স্বাভাবিকভাবেই এটি কেবলমাত্র পরামর্শ: আমার গ্রাফটি কী করতে চায়? এই ডেটা দিয়ে কী বোঝায়? পাঠকরা কারা? আমি গ্রাফের মধ্যে রঙ (গুলি) করার কী প্রত্যাশা করছি? অন্যের ডগমাস নির্বিশেষে গ্রাফটি কি ভাল কাজ করে?
তদ্ব্যতীত, রঙের গুরুত্ব এক গ্রাফ থেকে অন্য গ্রাফে প্রচুর পরিবর্তিত হয়। একটি কোরোপলথ বা প্যাচ মানচিত্রের জন্য, যাতে ধারণাটি প্রকৃতপক্ষে বিভিন্ন অঞ্চলগুলি বর্ণযুক্ত বা কমপক্ষে আলাদাভাবে শেড করা হয়, কোনও গ্রাফের সাফল্য তার রঙিন স্কিমের সাফল্যের সাথে আবদ্ধ। অন্যান্য ধরণের গ্রাফের জন্য, রঙগুলি বিতরণযোগ্য বা উপদ্রবযুক্ত হতে পারে।
আপনার রঙ সব প্রয়োজন? উদাহরণস্বরূপ, যদি গ্রাফের বিভিন্ন অঞ্চলে বিভিন্ন ভেরিয়েবল বা গোষ্ঠীগুলি স্পষ্টভাবে পাঠ্য লেবেল দ্বারা পৃথক করা হয়, তবে পৃথক রঙগুলিও প্রায়শই ওভারকিল হয়। ফলের সালাদ বা টেকনিকালার ড্রিমকোটের প্রভাবগুলি থেকে সাবধান থাকুন। স্লাইসগুলির উপর বা পাঠ্য লেবেলযুক্ত পাই চার্টের জন্য, রঙ কোনও অতিরিক্ত তথ্য দেয় না, উদাহরণস্বরূপ। (যদি আপনার পাই চার্ট কোনও কী বা কিংবদন্তির উপর নির্ভর করে তবে আপনি সম্ভবত ভুল ধরণের গ্রাফ চেষ্টা করছেন))
কখনও কখনও লাল এবং সবুজ রঙের মধ্যে বিপরীতে নির্ভর করবেন না কারণ অনেক লোক এই রঙগুলিকে আলাদা করতে লড়াই করে।
রেইনবো সিকোয়েন্সগুলি (আরওয়াইজিবিআইভি বা লাল-কমলা-হলুদ-সবুজ-নীল-নীল-ভায়োলেট) শারীরিক কারণে আবেদন করতে পারে, তবে তারা অনুশীলনে ভালভাবে কাজ করে না। উদাহরণস্বরূপ, হলুদ সাধারণত একটি দুর্বল রঙ থাকে তবে কমলা এবং সবুজ সাধারণত শক্তিশালী থাকে, তাই ছাপ এমনকি একরঙা ক্রমেরও হয় না।
শক্তিশালী রঙের বড় প্যাচগুলির পরিণতি রয়েছে এমন কোনও রঙিন স্কিম এড়িয়ে চলুন।
যখন অর্ডার করা সিকোয়েন্স প্রয়োজন হয় তখন গা dark় লাল থেকে গা dark় নীল রঙের একটি ক্রম ভালভাবে কাজ করে। যদি সাদা (যথারীতি) কোথাও পটভূমির রঙ হয় তবে এটি ব্যবহার করবেন না, তবে ফ্যাকাশে লাল থেকে ফ্যাকাশে নীল ছেড়ে যান। [1 মার্চ 2018 যোগ করা হয়েছে] নিম্নরেখাঙ্কিত করা সম্ভবত খুব সুস্পষ্ট: লাল অনেকের কাছে নেতিবাচক এবং / বা বিপদের সংকেত রয়েছে, যা সহায়ক হতে পারে এবং নীলের অর্থ ইতিবাচক হতে পারে। নিম্নরেখাঙ্কিত করা খুব সুস্পষ্ট, তবে আমি এটি যে কোনও উপায়েই করি: লাল এবং নীল রঙের অনেক দেশে রাজনৈতিক ধারণা রয়েছে।
নীল এবং কমলা খুব ভালভাবে একসাথে চলে যায় (এখানে হাসি, তিবশিরানি এবং ফ্রেডম্যানের কাছে কৃতজ্ঞ সম্মতি: http://web.stanford.edu/~hastie/local.ftp/Springer/OLD/ESLII_print4.pdf ) [যুক্ত করা হয়েছে 1 মার্চ 2018] অনেক ভিজ্যুয়ালাইজেশনের প্রবর্তনামূলক বইগুলিতে এখন কমলা, নীল এবং ধূসরকে একটি মৌলিক প্যালেট হিসাবে সুপারিশ করা হয়েছে: কমলা এবং / অথবা নীল আপনার কী যত্ন নেয় সেই জন্য এবং ব্যাকড্রপের জন্য ধূসর।
ফ্যাকাশে ধূসর থেকে গা dark় ধূসর পর্যন্ত গ্রেস্কেল ভালভাবে কাজ করতে পারে এবং রঙের পুনরুত্পাদন প্রশ্নের বাইরে চলে গেলে এটি একটি ভাল ধারণা। (এটি একটি লসি প্রিন্টার যা গ্রেস্কেলটিতে ফর্সা বাশ করতে পারে না)) (ধূসর যদি আপনি চান তবে পছন্দগুলি মহাসাগরগুলিতে পরিবর্তিত হয়, মনে হয়; ঠিক যেমন রঙ এবং রঙের সাথে))
[৫ আগস্ট ২০১ added যোগ করেছেন] একটি মোটামুটি সাধারণ নীতি হ'ল প্রায়শই দুটি রঙ অনেকের চেয়ে অনেক বেশি ভাল কাজ করে। যদি দুটি গ্রুপ উভয়ই আগ্রহী হয়, তবে সমানভাবে শক্তিশালী রঙ চয়ন করুন (যেমন লাল বা কমলা এবং নীল)। যদি একটি গোষ্ঠী বেশ কয়েকটির মধ্যে বিশেষ আগ্রহী হয় তবে এটিকে নীল বা কমলা করুন এবং অন্যকে ধূসর হতে দিন। নীতিগতভাবে সাত গোষ্ঠীর জন্য সাতটি রঙ ব্যবহার করা তথ্য বহন করে, তবে অন্য সময়ে যখন প্রতিযোগিতা হয় তখন এমন সময়ে একটি বর্ণের উপর দৃষ্টি নিবদ্ধ করা এমনকি শক্ত। একাধিক গ্রুপের জন্য একটি বহুবিধ প্লটের চেয়ে ছোট গুণগুলি আরও ভাল হতে পারে।
সাম্প্রতিক বছরগুলিতে এটি নিয়ে আসলে বেশ ভাল গবেষণা হয়েছে।
একটি বড় বিষয় হ'ল "শব্দার্থান্বিত অনুরণন"। এর মূলত "রঙগুলি যা তারা প্রতিনিধিত্ব করে তার সাথে মিলে যায়" উদাহরণস্বরূপ অর্থের জন্য একটি সময় সিরিজ সবুজ রঙিন হওয়া উচিত, কমপক্ষে মার্কিন যুক্তরাষ্ট্রে দর্শকদের জন্য। এটি স্পষ্টতই বোঝার উন্নতি করে। বিষয়টির একটি খুব আকর্ষণীয় কাগজ লিন, এট আল (2013) দ্বারা: http://vis.stanford.edu/papers/semantically-resonant-colors
অন্যান্য ট্যাবগুলিতে প্রচুর তথ্য সহ http://tools.medialab.sciences-po.fr/iwanthue/ এ খুব সুন্দর আইওয়ান্টহিউ রঙিন জেনারেটরও রয়েছে ।
লিন, শ্যারন, জুলি ফরচুনা, চিন্ময় কুলকার্নি, মৌরিন স্টোন এবং জেফরি হির। (2013)। ডেটা ভিজ্যুয়ালাইজেশনের জন্য শব্দার্থ-অনুরণিত রং নির্বাচন করা। কম্পিউটার গ্রাফিক্স ফোরাম (প্রকো। ইউরোভিস), 2013
পল টোল রঙিন পার্থক্য (যেমন, শ্রেণীবদ্ধ বা গুণগত তথ্য) এবং রঙিন-অন্ধ দৃষ্টি তার ওয়েবসাইটের জন্য অনুকূলিত করে এবং সেখানে সংযুক্ত একটি "টেকনোট" (পিডিএফ ফাইল) বিশদে একটি রঙিন স্কিম সরবরাহ করে । তিনি যুক্তরাষ্ট্রের:
আপনার বৈজ্ঞানিক ফলাফলগুলি দিয়ে গ্রাফিকগুলি যথাসম্ভব পরিষ্কার করার জন্য, রঙগুলির একটি প্যালেট থাকা সহজ:
- রঙ-অন্ধ পাঠক সহ সকলের জন্য আলাদা;
- কালো এবং সাদা থেকে পৃথক;
- পর্দা এবং কাগজে স্বতন্ত্র; এবং
- এখনও একসাথে ভাল মেলে।
আমি তার 9 টি পৃথক রঙের "প্যালেট 1" থেকে রঙের স্কিমটি নিয়েছি এবং এটি আমার matplotlibrc
ফাইলে এটির নীচে রেখেছি axes.color_cycle
:
axes.color_cycle : 332288, 88CCEE, 44AA99, 117733, 999933, DDCC77, CC6677, 882255, AA4499
তারপরে, জো কিংটনের উত্তর থেকে ধার নেওয়া পূর্বনির্ধারিত পূর্বনির্ধারিত রেখাগুলি দ্বারা:
import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np
x = np.linspace(0, 20, 100)
fig, axes = plt.subplots(nrows=2)
for i in range(1,10):
axes[0].plot(x, i * (x - 10)**2)
for i in range(1,10):
axes[1].plot(x, i * np.cos(x))
plt.show()
ফলাফল স্বরূপ:
রঙের মানচিত্রগুলি বিভক্ত করার জন্য (উদাহরণস্বরূপ, স্কেলারের মানগুলি উপস্থাপনের জন্য), আমি সবচেয়ে ভাল রেফারেন্স দেখেছি কেনেথ মোরল্যান্ডের কাগজটি এখানে " বৈজ্ঞানিক ভিজ্যুয়ালাইজেশনের জন্য রঙিন মানচিত্রের ডাইভারিং " পাওয়া যায় । তিনি রংধনু স্কিমটি প্রতিস্থাপনের জন্য শীতল-উষ্ণ স্কিমটি তৈরি করেছেন এবং "এমন একটি অ্যালগোরিদম উপস্থাপন করেছেন যা ব্যবহারকারীরা সহজেই তাদের নিজস্ব কাস্টমাইজড রঙের মানচিত্র তৈরি করতে দেয়"।
বৈজ্ঞানিক দৃষ্টিভঙ্গিতে রঙের ব্যবহার সম্পর্কিত তথ্যের জন্য আরেকটি দরকারী উত্স এসেছে নাসার জন্য "ব্লু মার্বেল" চিত্রটি তৈরির ব্যক্তি রবার্ট সিমনের কাছ থেকে। আর্থ অবজারভেটরি ওয়েব সাইটে তাঁর সিরিজের পোস্টগুলি দেখুন ।
উপর colorbrewer2.org আপনি খুঁজে পেতে পারেন গুণগত , অনুক্রমিক এবং উত্পথ রঙ স্কিম। গুণগত ধারাবাহিক রঙের মধ্যে পার্থক্যকে সর্বাধিক করে তোলে এবং এটি আমি জ্নুপ্লটে ব্যবহার করছি। সাইটের সৌন্দর্য হ'ল আপনি সহজেই রঙগুলির হেক্সাডেসিমাল কোডগুলি অনুলিপি করতে পারেন যাতে সেগুলি আমদানির জন্য বাতাস। উদাহরণ হিসাবে, আমি নিম্নলিখিত 8-রঙ সেট ব্যবহার করছি:
#e41a1c
#377eb8
#4daf4a
#984ea3
#ff7f00
#ffff33
#a65628
#f781bf
এটি বরং মনোরম এবং স্পষ্ট ফলাফল উত্পাদন করে।
পার্শ্ব নোট হিসাবে, যখন আপনাকে কোনও কেন্দ্রীয় মান (যেমন পর্বত উচ্চতা এবং সমুদ্রের গভীরতা) থেকে পার্থক্য হাইলাইট করার দরকার হয় তখন একটি মসৃণ গ্রেডিয়েন্ট এবং ডাইভারিংয়ের সময় ক্রমবর্ধমান ব্যবহৃত হয়। আপনি এই রঙিন স্কিমগুলি সম্পর্কে আরও পড়তে পারেন এখানে ।
রঙ প্যালেট চয়ন করার জন্য নিবেদিত প্রচুর ওয়েবসাইট রয়েছে are আমি জানি না যে রঙের একটি নির্দিষ্ট সেট রয়েছে যা নিখরচায় সর্বোত্তম, আপনাকে আপনার শ্রোতা এবং আপনার কাজের স্বরের উপর ভিত্তি করে বেছে নিতে হবে।
পরীক্ষা করে দেখুন http://www.colourlovers.com/palettes বা http://design-seeds.com/index.php/search দেখায়। তাদের মধ্যে কয়েকটি রঙ রয়েছে যা বিভিন্ন গ্রুপ দেখানোর জন্য দুটি কাছাকাছি, তবে অন্যরা আপনাকে আরও বিস্তৃত পরিসর জুড়ে পরিপূরক রং দেবে।
আপনি ম্যাটপ্ল্লোলিব- এ অ-ডিফল্ট পূর্বনির্ধারিত রঙিনগুলিও দেখতে পারেন ।
আমি স্ক্যাটার প্লটের জন্য কালারব্রুয়ের থেকে ডার্ক 2 প্যালেটটি পছন্দ করি। আমরা এটি ggobi বই, www.ggobi.org/book এ ব্যবহার করেছি । তবে অন্যথায় রঙ প্যালেটগুলি ডেটা প্লটের পরিবর্তে ভৌগলিক অঞ্চলের জন্য বোঝানো হয়। পয়েন্ট-ভিত্তিক প্লটের জন্য ভাল রঙের পছন্দ এখনও একটি সমস্যা।
আর প্যাকেজগুলি দরকারী colorspace
এবং dichromat
দরকারী। colorspace
চাকাটির চারপাশে রঙ নির্বাচনের অনুমতি দেয়: আপনি ঘন্টা / দিন জরিমানা সুর করতে পারেন। dichromat
বর্ণবিন্যাস পরীক্ষা করতে সহায়তা করে।
ggplot2
সাধারণত রঙ-অন্ধ প্রমাণ না হলেও সাধারণত ভাল ডিফল্ট থাকে।
লাল থেকে নীল স্কিমটি ডাইভারিং করা আপনার কম্পিউটারে ভাল দেখাচ্ছে তবে ভালভাবে প্রজেক্ট হয় না।
আরেকটি সম্ভাবনা হ'ল রঙগুলির একটি সেট সন্ধান করা হবে যা ক) ল্যাব-এ সামঞ্জস্যপূর্ণ, খ) বর্ণের অন্ধত্বকে বিবেচনা করুন এবং গ) এসআরজিবি কালারস্পেসের প্রচলন পাশাপাশি সর্বাধিক সাধারণ সিএমওয়াইকে স্পেসগুলির গাম্টে ফিট করতে পারে।
আমি মনে করি যে রংগুলি বাছাইয়ের যে কোনও পদ্ধতির জন্য শেষ প্রয়োজনটি একটি প্রয়োজনীয়তা- যদি স্ক্রিনে রঙগুলি দেখতে ভাল লাগে তবে কোনও সিএমওয়াইকে প্রক্রিয়াতে মুদ্রিত হওয়ার পরে তা নষ্ট হয়ে যায় it এবং যেহেতু ওপি "প্রকাশনার মান" নির্দিষ্ট করেছে, আমি ধরে নিচ্ছি যে গ্রাফগুলি সত্যই সিএমওয়াইকে মুদ্রিত হবে।
এটি আমার প্রিয় স্কিম। এটির 20 টি (!!!!) স্বতন্ত্র রঙ রয়েছে যার সবকটিই সহজেই পৃথকযোগ্য। যদিও এটি রঙিন অন্ধদের জন্য ব্যর্থ।
#e6194b
#3cb44b
#ffe119
#0082c8
#f58231
#911eb4
#46f0f0
#f032e6
#d2f53c
#fabebe
#008080
#e6beff
#aa6e28
#fffac8
#800000
#aaffc3
#808000
#ffd8b1
#000080
#808080
#ffffff
#000000
লাইনের চক্রান্ত করার সময়, আপনাকে সবুজ এবং হলুদ রঙের দিকে নজর দেওয়া উচিত, যা প্রজেক্টরগুলিতে ভাল প্রদর্শন করে না। যেহেতু আমি পরিশেষে আমার বেশিরভাগ প্লট উপস্থাপনাগুলিতে পুনরায় ব্যবহার করি, তাই মূল উদ্দেশ্যটি পর্দা বা কাগজ প্রকাশের জন্য হলেও আমি এই রঙগুলি এড়িয়ে চলি।
উচ্চ বৈসাদৃশ্য বজায় রাখার স্বার্থে, এটি আমাকে কালো, লাল, নীল, ম্যাজেন্টা, সায়ান দিয়ে ফেলেছে এবং আমার যদি সত্যিই এটির প্রয়োজন হয় তবে আমি ধূসর ব্যবহার করি। প্রকৃতপক্ষে, এগুলির বেশিরভাগই উজ্জ্বল, প্রাথমিক বা গৌণ রঙ। আমি জানি এটি কোনও নান্দনিক দৃষ্টিকোণ থেকে অনুকূল নাও হতে পারে তবে আমি কী উপস্থাপন করছি তার স্পষ্টতা সম্পর্কে আমি আরও আগ্রহী। অন্যদিকে, সীমিত প্যালেট থেকে ধারাবাহিকভাবে একই রংগুলির পুনরায় ব্যবহার করা নান্দনিকভাবে একটি ভাল জিনিস হতে পারে।
যদি আপনি 6 টিরও বেশি লাইন ব্যবহার করেন তবে আপনি আরও জায়গা পূরণ করছেন এবং রঙের ব্লক প্লট করার দিকে এগিয়ে যাচ্ছেন। এই ধরণের প্লটের জন্য আমি মনে করি প্রতিটি ক্ষেত্রে আলাদাভাবে বিবেচনা করা দরকার। আপনি কি চূড়ান্ত দিকটি দাঁড়াতে চান, না শূন্য-ক্রসিংস? আপনার ডেটা কি চক্রাকার (যেমন 0 এবং 2π একই রঙ ব্যবহার করা উচিত)? তাপমাত্রার জন্য নীল / লাল এর মতো মানের সাথে কি কোনও সাদৃশ্য রয়েছে? সাদা কি এনএএন, কোনও ডেটা উপস্থাপন করে না বা এটি হাইলাইট হিসাবে ব্যবহৃত হবে? etcetc।
কালারব্লাইন্ড দর্শকদের জন্য, কর্টোকলারের একটি গুণগত রঙিন-বান্ধব স্কিম রয়েছে যা পল টোলের জনপ্রিয় রঙিন স্কিমগুলিরSafe
উপর ভিত্তি করে । এই প্যালেটটি 12 সহজে পৃথকযোগ্য রঙ ধারণ করে।
আর একটি দুর্দান্ত গুণগত রঙিনমণ্ডল বন্ধুত্বপূর্ণ প্যালেট হ'ল ওকাবে এবং ইটো স্কিমটি তাদের নিবন্ধে প্রস্তাবিত "রঙ ইউনিভার্সাল ডিজাইন (সিইডি): কীভাবে চিত্রাবলম্বী এবং উপস্থাপনাগুলি তৈরি করতে হবে যা রঙিন বর্ণের লোকের পক্ষে বন্ধুত্বপূর্ণ।"
### Example for R users
library(ggplot2)
library(rcartocolor)
library(patchwork)
theme_set(theme_classic(base_size = 14) + theme(panel.background = element_rect(fill = "#ecf0f1")))
set.seed(123)
df <- data.frame(x = rep(1:5, 8),
value = sample(1:100, 40),
variable = rep(paste0("category", 1:8), each = 5))
safe_pal <- carto_pal(12, "Safe")
palette_OkabeIto_black <- c("#E69F00", "#56B4E9", "#009E73", "#F0E442",
"#0072B2", "#D55E00", "#CC79A7", "#000000")
# plot
p1 <- ggplot(data = df, aes(x = x, y = value)) +
geom_line(aes(colour = variable), size = 1) +
scale_color_manual(values = palette_OkabeIto_black)
p2 <- ggplot(data = df, aes(x = x, y = value)) +
geom_col(aes(fill = variable)) +
scale_fill_manual(values = safe_pal)
p1 / p2