I'm plotting the figure below using R's plot()
function. It is a plot of a vector shiftTime
of shift in time. I have another vector intensity
of the intensity values ranging from ~3 to ~9. I want to color my points in the plot based on those values with a color gradient. The examples I can find color on the value of the actual plotted points, so in this case the values of the vector shiftTime
. Is it also possible to use a different vector, as long as the corresponding values are on the same index?
Color Name or Short Name — Specify the name of a color such as 'red' or 'green' . Short names specify a letter from a color name, such as 'r' or 'g' . RGB Triplet — Create a custom color by specifying a three-element row vector whose elements are the intensities of the red, green, and blue components of a color.
Output: Now to change the colors of a scatterplot using plot(), simply select the column on basis of which different colors should be assigned to various points. Pass the column that will help differentiate between points to “col” attribute.
To change scatter plot color according to the group, you have to specify the name of the data column containing the groups using the argument groupName . Use the argument groupColors , to specify colors by hexadecimal code or by name .
Here's a solution using base R graphics:
#Some sample data x <- runif(100) dat <- data.frame(x = x,y = x^2 + 1) #Create a function to generate a continuous color palette rbPal <- colorRampPalette(c('red','blue')) #This adds a column of color values # based on the y values dat$Col <- rbPal(10)[as.numeric(cut(dat$y,breaks = 10))] plot(dat$x,dat$y,pch = 20,col = dat$Col)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With