Rcolorbrewer и ggplot2 R: карта цветов для geom_hex - PullRequest
0 голосов
/ 20 ноября 2018

Я хотел бы сделать этот тип рисунка ниже в R, который, я думаю, представляет собой комбинацию маргинальных гистограмм и объекта geom_hex.Изначально это граф морских племен matplotlib.

Я не могу заставить его поговорить с RColorbrewer.Есть мысли почему?

enter image description here

Пока у меня есть:

require(ggplot2)
require(RColorBrewer)
require(ggExtra)
bl<-data.frame(beta=rnorm(100),lambda=rnorm(100))

p<-ggplot(bl,aes(x=beta,y=lambda))+
  stat_bin_hex()+
  #scale_fill_gradient(palette = "Greens") Neither of these work
  #scale_fill_continuous(palette = "Greens")+
  scale_fill_brewer()+
  theme_classic()


  ggExtra::ggMarginal(p, type = "histogram")

Оригинальный код:

x, y = np.random.multivariate_normal(mean, cov, 1000).T
with sns.axes_style("white"):

https://seaborn.pydata.org/tutorial/distributions.html

sns.jointplot(x=x, y=y, kind="hex", color="greens");

1 Ответ

0 голосов
/ 20 ноября 2018

Вы можете использовать scale_fill_gradientn и передать палитру с помощью brewer.pal.Тогда вам просто нужно передать правильную заливку и цвет к ggMarginal

library(ggplot2)
library(RColorBrewer)
library(ggExtra)

bl <- data.frame(beta=rnorm(10000),lambda=rnorm(10000))

p <- ggplot(bl, aes(x=beta, y = lambda))+
  stat_bin_hex() +
  scale_fill_gradientn(colors = brewer.pal(3,"Greens")) +
  theme_classic() +
  theme(legend.position = "bottom")

ggMarginal(p, type = "histogram", fill = brewer.pal(3,"Greens")[1], color = "white")

Создано в 2018-11-20 по представпакет (v0.2.1)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...