রঙ 1 এবং বর্ণ 2 থেকে শুরু করে এন রঙগুলির গ্রেডিয়েন্ট


108

আমি প্রায়শই সেই কাজ করে ggplot2যা গ্রেডিয়েন্টকে সুন্দর করে তোলে ( উদাহরণের জন্য এখানে ক্লিক করুন )। আমার বেসে কাজ করার দরকার আছে এবং আমি মনে করি scalesরঙের গ্রেডিয়েন্ট তৈরি করতে সেখানেও এটি ব্যবহার করা যেতে পারে তবে কীভাবে আমি তার মারাত্মক চিহ্নটি থেকে দূরে থাকি। মূল লক্ষ্যটি হ'ল এন রঙের একটি প্যালেট তৈরি করে যা এক্স রঙ থেকে y রঙ পর্যন্ত। সমাধান বেসে কাজ করা প্রয়োজন যদিও। এটি একটি সূচনা পয়েন্ট ছিল তবে একটি এন ইনপুট করার কোনও জায়গা নেই।

 scale_colour_gradientn(colours=c("red", "blue"))

আমি এ সম্পর্কে ভালভাবে অবগত:

brewer.pal(8, "Spectral") 

থেকে RColorBrewer। আমি ggplot2গ্রেডিয়েন্টগুলি কীভাবে পরিচালনা করে যেগুলি বলে যে এই দুটি রঙ আছে এবং সেই পথে আমি 15 টি রঙ চাই তার অনুরূপ পদ্ধতির জন্য আমি আরও সন্ধান করছি । আমি এটা কিভাবে করবো?


1
আমার মনে হয় আপনার স্কেল প্যাকেজ দরকার ; অন্তর্নিহিত কোডের জন্য সর্বশেষতম ggplot2 সংস্করণগুলি এর উপর নির্ভর করে। উদাহরণস্বরূপ , স্কেলগুলি ব্যবহার করতে আপনার ggplot2 এর দরকার নেই , আপনার কেবল স্কেল প্যাকেজ দরকার । কোন ধারণা কিভাবে কাজ করে দাঁড়িপাল্লা কাজ করে যদিও :-)
গেভিন সিম্পসন

1
প্রসঙ্গ-বহির্ভূত আপনার অনুরোধ করা যেহেতু baseবিশেষভাবে, কিন্তু আমি এটি colourvalues( এছাড়াও Cran উপর ) একটি গ্রেডিয়েন্ট করতে ম্যাপিং মানের জন্য বিশেষভাবে সুবিধাজনক। এটি বেশ হালকা ওজন (নির্ভর করে Rcpp)।
মাইকেলচিরিকো

@ মিশেলচিরিকো অফ অফ টপিক, আমার অর্থ হ'ল গ্রিডের পরিবর্তে বেস প্লেটিংটি ব্যবহার করা দরকার কারণ আমি যে প্যাকেজটি ব্যবহার করছি তা বেসে লেখা হয়েছিল (আমার মনে হয় ওয়ার্ডক্লাউড) গ্রিডের পরিবর্তে। উত্তর হিসাবে পোস্ট হতে পারে?
টাইলার রিঙ্কার

উত্তর:


179

colorRampPalette এখানে আপনার বন্ধু হতে পারে:

colfunc <- colorRampPalette(c("black", "white"))
colfunc(10)
# [1] "#000000" "#1C1C1C" "#383838" "#555555" "#717171" "#8D8D8D" "#AAAAAA"
# [8] "#C6C6C6" "#E2E2E2" "#FFFFFF"

এবং কেবল এটি কাজ করে তা দেখানোর জন্য:

plot(rep(1,10),col=colfunc(10),pch=19,cex=3)

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


14
মনে রাখবেন যে আপনি যদি পূর্ব-বিদ্যমান প্যালেটটি সম্পর্কে বিশেষত মোহিত হন, উদাহরণস্বরূপ brewer.pal(8, "Spectral"), আপনি এই র‌্যাম্পটির colorRampPaletteসাথে আরও রঙ তৈরি করতে রঙের ফলস ভেক্টরকে দিতে পারেন । উদাহরণস্বরূপ: colorRampPalette(brewer.pal(8, "Spectral"))
jbaums

ব্লকের তির্যক রেখা বা আকারগুলির সাথে রঙ সম্পর্কে কী বলা যায়? @thelatemail
user3631848

50

কেবল পূর্বের উত্তরে প্রসারিত colorRampPalette বেশি রঙ পরিচালনা করতে পারে।

সুতরাং আরও প্রসারিত "হিট ম্যাপ" টাইপের চেহারার জন্য আপনি পারেন ....

colfunc<-colorRampPalette(c("red","yellow","springgreen","royalblue"))
plot(rep(1,50),col=(colfunc(50)), pch=19,cex=2)

ফলাফল চিত্র:

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


আমি কি রঙের তির্যক রেখা বা আকারগুলি নির্দিষ্ট করতে পারি? @jsol
user3631848

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

1
"স্প্রিংগ্রিন" বা "রয়েল ব্লু" এর মতো বিকল্প দেখার আশা করছেন না এমন অন্য কারও জন্য যোগ করা। ব্যবহারের জন্য উপলভ্য সমস্ত রঙগুলি চালিয়ে একটি তালিকা হিসাবে ফিরে আসতে পারে: রং ()।
jadki

20

নিম্নলিখিত চেষ্টা করুন:

color.gradient <- function(x, colors=c("red","yellow","green"), colsteps=100) {
  return( colorRampPalette(colors) (colsteps) [ findInterval(x, seq(min(x),max(x), length.out=colsteps)) ] )
}
x <- c((1:100)^2, (100:1)^2)
plot(x,col=color.gradient(x), pch=19,cex=2)

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


এই ফাংশনটি আর বেসে ডিফল্ট হিসাবে যুক্ত করা উচিত!
সাইমন সি

7

উপরের উত্তরটি দরকারী তবে গ্রাফগুলিতে, কালো রঙের গা grad় গ্রেডিয়েন্টের মধ্যে পার্থক্য করা কঠিন। আমি খুঁজে পেয়েছি একটি বিকল্প হ'ল ধূসর রঙের গ্রেডিয়েন্টগুলি নিম্নরূপ ব্যবহার করা

palette(gray.colors(10, 0.9, 0.4))
plot(rep(1,10),col=1:10,pch=19,cex=3))

ধূসর স্কেল সম্পর্কিত আরও তথ্য এখানে।

যোগ করা হয়েছে

যখন আমি নীল এবং কালো রঙের মতো বিভিন্ন রঙের জন্য উপরের কোডটি ব্যবহার করি তখন গ্রেডিয়েন্টগুলি এতটা পরিষ্কার ছিল না। heat.colors()আরো দরকারী বলে মনে হচ্ছে।

এই নথিতে আরও বিশদ তথ্য এবং বিকল্প রয়েছে। পিডিএফ


2
আমি মনে করি এই উত্তরটি কালো থেকে সাদাের চেয়ে সেরা তবে এটি রঙের তুলনায় সাধারণ নয়। এই মূল্যবান তথ্য যুক্ত করার জন্য আপনাকে ধন্যবাদ। +1
টাইলার রিঙ্কার

রঙিন গ্রেডিয়েন্টস এবং বর্ণ ও বর্ণের জন্য আরও ভাল বিকল্প সরবরাহ করে যা একটি লিঙ্ক যুক্ত করেছে যা রঙ এবং বিঅ্যান্ডডাব্লু উভয় ক্ষেত্রেই কাজ করে।
আনুশা

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

2
@ ডেভিডডেলমন্টে - web.archive.org/web/20141111182737/http://www.stat.tamu.edu/… সর্বদা আর্কাইভ.অর্গ পরীক্ষা করুন।
theletmail
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.