(R) Utilizați funcția new_scale_xxx () pentru a adăuga același tip de scară în diferite straturi GGPLOT

URMĂREȘTE-NE
16,065FaniÎmi place
1,142CititoriConectați-vă

Blogul lui Zhenguo Zhang/2025/05/10/R-utilizare-new-scală-xxx-funcție-la-add-the-same-scală-în-different-ggplot-layers/-

Într -o figură GGPLOT, în mod normal, puteți utiliza o singură scară pentru fiecare mapare estetică. De exemplu, dacă utilizați scale_color_manual() Pentru a seta scala de culori pentru un strat, nu puteți utiliza altul scale_color_manual() pentru un alt strat sau setați scala de culoare mai mult, apoi o dată în funcție aes(). Cu toate acestea, puteți utiliza new_scale_color() Funcție din ggnewscale Pachet pentru a adăuga o nouă scară pentru aceeași mapare estetică în straturi diferite.

În această postare, voi prezenta cum să folosesc new_scale_color() Funcție pentru a adăuga două scări de culori diferite într -o figură GGPLOT. Prima scară va fi pentru o variabilă discretă (de exemplu, numărul de cilindri), iar a doua scară va fi pentru o variabilă continuă (de exemplu, nivel de densitate).

Încărcați pachetele mai întâi.

library(ggplot2)
library(ggnewscale)

Utilizați setul de date MTCARS pentru exemplu

data(mtcars)

Creați un complot cu două scale de culoare: 1. Puncte colorate de „Cyl” (discret) 2. Contururi de densitate colorate după nivel de densitate (continuu)

În primul rând, să facem un complot de împrăștiere a mpg vs wt cu puncte colorate de numărul de cilindri (cyl) Vom folosi geom_point() Funcție pentru acest strat.

plt <- ggplot(mtcars, aes(x = wt, y = mpg)) +
  # First layer: Scatter plot colored by cylinders (discrete variable)
  geom_point(aes(color = factor(cyl)), size = 3) +  
  scale_color_discrete(name = "Cylinders")

plt

Setați o nouă scară pentru următorul strat

# Reset the color scale for the next layer
plt <- plt + new_scale_color()

Adăugați un al doilea strat: contururi de densitate colorate după nivel de densitate (variabilă continuă)

plt <- plt +
  geom_density_2d(aes(color = after_stat(level))) +  
  scale_color_viridis_c(name = "Density Level", option = "magma") +
  
  # Add labels and theme
  labs(title = "Dual Color Scales with new_scale_color()",
       x = "Weight (1000 lbs)",
       y = "Miles per Gallon") +
  theme_minimal()

plt

Aici am demonstrat cum să folosesc new_scale_color() Funcție din ggnewscale pachet, se poate folosi și new_scale_fill() Pentru estetică de umplere. Pentru alte estetice, cum ar fi size, shapeetc., puteți suna
new_scale("size"), new_scale("shape")etc. pentru a adăuga noi scale.

Pentru a afla mai multe, verificați pagina web https://eliocamp.github.io/ggnewscale/

Programare fericită 😃

-/2025/05/10/r-utilizare-nouă-scală-xxx-funcție-add-the-same-scală-tip-in-different-ggplot-layers/-

Dominic Botezariu
Dominic Botezariuhttps://www.noobz.ro/
Creator de site și redactor-șef.

Cele mai noi știri

Pe același subiect

LĂSAȚI UN MESAJ

Vă rugăm să introduceți comentariul dvs.!
Introduceți aici numele dvs.