day 5 时,听了cs50 week 0 的大半节课,很有启发而且有趣。印象最深的是老师用撕通讯录讲解算法的含义,并进一步引出曲线对比不同算法的优劣。
day6, 今日用swirl完成了lattice plotting 和 working with colors 两个练习,很有收获,特把关于color的一些package的使用笔记记录如下:
- grDevices — package
主要有两个函数:colorRamp和colorRampPalette,两者都是要先指定红、绿、蓝中的2个作为一个palette(可理解为调色盘),以形成一个新的函数,如p,再在p中输入数字得出一个包含多种颜色的结果集。----下面以红蓝举例c(“red”,“blue”)
a. colorRamp 在新函数中使用0-1之间的数表示颜色,0时,代表第一位的颜色到满,第二位颜色无(如p(0) 会输出:255, 0, 0)。最终结果会输出n组位数为3的向量组,列分别是红绿蓝三种颜色,行对应新函数中输入的数字个数。p
b. colorRampPalette 十六进制,输入一个整数,输出相对应的十六进制的6位数,每一位上的数字都是0-F。6位中,每2位代表一个颜色,分别对应red,green,blue。输出时会显示两组6位数,此组数对应新函数中输入的整数。—pp
衔接方式:pp(6)与p(seq(0,1, len = 6))结果基本一致
-
alpha属性设置
设置新函数时,可以多加一个argument :alpha= TRUE/FALSE 或者alpha = 任意数/0, true/任意数则满,完全不透明;false/0则不显示,完全透明。
透明度设置的好处:当点阵密集时,如果无透明度则在点普遍稠密的区域显示不出来程度差别,但若设置透明度则会变得很清晰。
-
RColorBrewer Package
如cols <- brewer.pal(3,"BuGn”),用于取出如下表中特定的三个颜色,取出后可进一步用于colorRampPalette等构建新函数时的argument。