Сложите точечные графики поверх графика плотности на той же панели и выровняйте ось [дублировать]

Я попробовал вышеуказанное решение, но я счел его непригодным для больших объемов данных. Затем я обнаружил функцию потока:

MongoClient.connect("...", function(err, db){
    var c = db.collection('yourCollection');
    var s = c.find({/* your query */}).stream();
    s.on('data', function(doc){
        c.update({_id: doc._id}, {$set: {name : doc.firstName + ' ' + doc.lastName}}, function(err, result) { /* result == true? */} }
    });
    s.on('end', function(){
        // stream can end before all your updates do if you have a lot
    })
})
0
задан PoGibas 16 January 2019 в 06:29
поделиться

2 ответа

Если требование иметь легенду слева можно ослабить и поместить легенду вверх, тогда вы можете использовать ggarrange , оба графика у оси выровняют

library ( ggplot2 )
library(ggpubr)

set.seed(12345)
N <- 10000
x <- rnbinom(N, 1, .15)
x = data.frame ( value=x, yyy= rep("z", length(x)))


g1 <- ggplot(x, aes(y=value, x=yyy))+
  geom_point(aes(fill = yyy), size = 3, shape = 21, position = position_jitterdodge(), alpha = .14 )+
  theme_bw()  + coord_flip() + theme(legend.position="top")


h1 = ggplot( x, aes(value)) +
  geom_histogram(aes(y = stat(density)), binwidth = .1) 


ggarrange(g1, h1,  ncol=1, nrow=2, align = "v" )
0
ответ дан Raphael Moline 16 January 2019 в 06:29
поделиться

Вы можете легко разместить их на одном графике, используя geom_point + geom_histogram принципал. Для этого вам необходимо отрегулировать два параметра вручную: положение точек на оси Y (yPos) и силу вертикального джиттера (jit).

yPos <- 1700
jit <- 100

ggplot(x) + 
    geom_point(aes(value, yPos, fill = yyy), 
               position = position_jitterdodge(jitter.height = jit), 
               size = 3, shape = 21, alpha = 0.14) +
    geom_histogram(aes(value), binwidth = 0.1) + 
    theme_bw() +
    theme(legend.position = "left")

Окончательное решение выглядит следующим образом:

enter image description here

0
ответ дан PoGibas 16 January 2019 в 06:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: