Cambiar el color del rango en ggplot2 Heatmap en R

Un mapa de calor representa la relación entre dos atributos de un marco de datos como un mosaico codificado por colores. Un mapa de calor produce una cuadrícula con múltiples atributos del marco de datos, que representa la relación entre los dos atributos tomados a la vez.

Conjunto de datos en uso: bestsellers

Primero creemos un mapa de calor regular con los colores proporcionados por defecto. Usaremos la función geom_tile() de la biblioteca ggplot2. Se utiliza esencialmente para crear mapas de calor.

Sintaxis: geom_tile(x,y,fill)

Parámetro:

  • x: posición en el eje x
  • y: posición en el eje y
  • relleno: valores numéricos que se traducirán a colores

A esta función, Var1 y Var2 del marco de datos fusionado se pasan a xey respectivamente. Estos representan la relación entre los atributos tomados de dos en dos. Proporcionar parámetros de relleno, ya que se utilizarán para codificar por colores los mosaicos en función de algún valor numérico.

Ejemplo:

R

library(ggplot2)
library(reshape2)
  
df<-read.csv("bestsellers.csv")
  
data<-cor(df[sapply(df,is.numeric)])
data1<-melt(data)
  
ggplot(data1,
       aes(x=Var1,
           y=Var2,
           fill=value))+geom_tile()

Producción:

Método 1: Usar scale_fill_gradient()

En este método, el valor inicial y final de los colores para definir un rango se proporciona como argumento.

Sintaxis: scale_fill_gradient (bajo, alto, guía)

Parámetro:

  • bajo: valor inicial
  • alto: valor final
  • guía: tipo de leyenda

Ejemplo:

R

library(ggplot2)
library(reshape2)
  
df<-read.csv("bestsellers.csv")
data<-cor(df[sapply(df,is.numeric)])
data1<-melt(data)
  
ggplot(data1,aes(x=Var1,
                 y=Var2,
                 fill=value))+geom_tile()+
scale_fill_gradient(low = "#86ebc9",
                    high = "#09855c",
                    guide = "colorbar")

Producción:

Método 2: Usar scale_fill_manual()

Hasta ahora, estábamos agregando colores a los valores continuos, en este método, los valores se convierten primero en rangos discretos usando la función cut().

Sintaxis: cortar (datos, pausas)

Donde las rupturas toman un vector con valores para dividir los datos. Ahora vuelva a trazar un mapa de calor pero con los nuevos datos creados después de hacerlo discreto. Para agregar colores a dicho mapa de calor en rangos, use scale_fill_manual() con un vector de los colores para cada rango.

Sintaxis: scale_fill_manual(intervalo, valores=vector de colores)

Ejemplo:

R

library(ggplot2)
library(reshape2)
  
df<-read.csv("bestsellers.csv")
data<-cor(df[sapply(df,is.numeric)])
data1<-melt(data)
  
data2<-data1
data2$group<-cut(data2$value,
                 breaks = c(-1,-0.5,0,0.5, 1))
  
  
ggplot(data2,aes(x=Var1,
                 y=Var2,
                 fill=group))+geom_tile()+
  scale_fill_manual(breaks = levels(data2$group),
                    values = c("#86ebc9", "#869ceb",
                               "#b986eb","#a1eb86"))

Producción:

Publicación traducida automáticamente

Artículo escrito por vanshikagoyal43 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *