Re: [問題] 色碼排序成彩虹順序

看板R_Language作者 (random walk)時間7年前 (2017/06/04 01:11), 7年前編輯推噓1(101)
留言2則, 2人參與, 最新討論串2/2 (看更多)
大概是像這樣吧 http://imgur.com/o4jLKXf
接上你的資料 colorname, rgb_color = col2rgb(colorname) hsv_color = rgb2hsv(rgb_color) df_hsv = data.frame() for (n in 1:40){ df_hsv = rbind(df_hsv, c(hsv_color[1,n],hsv_color[2,n],hsv_color[3,n])) } colnames(df_hsv)[1] = 'h' colnames(df_hsv)[2] = 's' colnames(df_hsv)[3] = 'v' df_hsv_sort = df_hsv[with(df_hsv, order(h,s,v)), ] rgb_sort = hsv(df_hsv_sort$h,df_hsv_sort$s,df_hsv_sort$v) n <- as.matrix(1:40) image(n, col = rgb_sort) ※ 引述《pp61022 (fight)》之銘言: : [問題類型]: : 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) : [軟體熟悉度]: : 入門(寫過其他程式,只是對語法不熟悉) : [問題敘述]: : (代PO) : 我有一組色碼,總共100個顏色,想要照彩虹的顏色順序排序,我一開始使用sort排序, : 但色碼命名好像並非照彩虹顏色順序命名,所以一直沒辦法排序成彩虹的順序, : 有google過但可能關鍵字下的不對, 一直沒找到類似的指引。 : 不知道有沒有版友知道或處理過這樣的問題,想請教大家謝謝。 : 程式碼如下,我只擷取其中40個色碼 : colorname <- c("#8CC600", "#FF2900", "#66A600", : "#FF9400", "#002EA9", "#005096", : "#FF2900", "#005893", "#FFFF00", : "#FFD100", "#FFFF00", "#F40000", : "#C90000", "#1F823E", "#E00000", : "#FF4700", "#005494", "#910000", : "#005893", "#000FBF", "#DBF600", : "#910000", "#B5E700", "#FF9C00", : "#FFBD00", "#FFF000", "#338C2D", : "#DBF600", "#0017BB", "#FF8C00", : "#FFB300", "#B50000", "#BF0000", : "#FFE800", "#FFE000", "#529C12", : "#F0FB00", "#D1F400", "#BAE900", : "#E40000") : colorsort <- sort(colorname) : n <- as.matrix(1:40) : image(n, col = colorsort) : [環境敘述]: : R version 3.3.1 (2016-06-21) : Platform: x86_64-w64-mingw32/x64 (64-bit) : Running under: Windows >= 8 x64 (build 9200) : locale: : [1] C : attached base packages: : [1] tcltk stats graphics : [4] grDevices utils datasets : [7] methods base : [關鍵字]: : color : 選擇性,也許未來有用 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 104.155.222.243 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1496509900.A.05F.html ※ 編輯: bluecadence (104.155.222.243), 06/04/2017 01:13:27

06/04 01:33, , 1F
cool! 已收精華區
06/04 01:33, 1F

06/04 10:36, , 2F
太感謝了! 謝謝你上了新的一課
06/04 10:36, 2F
文章代碼(AID): #1PCktC1V (R_Language)
文章代碼(AID): #1PCktC1V (R_Language)