Я хотел бы построить свои данные в ggplot с использованием точек. Он создает этот сюжет:
Как вы можете видеть, это нехорошо, поэтому я решил использовать логарифмическую шкалу, чтобы получить лучший результат, и мои данные имеют 0, что создает бесконечность. Я использовал этот скрипт для преобразования бесконечности в 0;
test.data$d.log[is.infinite(test.data$d.log)] <- 0
test.data$f.log[is.infinite(test.data$f.log)] <- 0
test.data=test.data[complete.cases(test.data), ]
и мои данные (test.data) выглядят так;
friend_ratio degree_ratio f.log d.log
oncevatan81 0.7763884 23.66667 -0.25310235 3.164068
hatunkotu 0.4991004 0.00000 -0.69494803 0.000000
TwitineGeldim 0.9838102 45.00000 -0.01632226 3.806662
Kralice_Hanim 0.9278909 0.00000 -0.07484108 0.000000
buguzelmi 0.7362599 2302.00000 -0.30617214 7.741534
DogrulariYaziyo 0.8489903 0.00000 -0.16370754 0.000000
Вы можете скачать образцы данных отсюда: https://drive.google.com/open?id=0B1HBIov_NABWWXRobmZwV0Z2Tmc
Я использую этот скрипт для построения графика;
p<-ggplot(data=test.data, aes(x=f.log, y=d.log)) +
stat_binhex(aes(x= f.log, y=d.log,alpha=..count..),fill="#000000" )+
guides(fill=FALSE,colour=FALSE) +
geom_hline(yintercept = 0, size = 0.5,color="red",linetype = 2) +
geom_vline(xintercept = 0, size = 0.5,color="red",linetype = 2) +
theme_bw()
Как вы можете видеть, он создает один шестиугольник для одной точки в верхнем левом углу, и это неправильное представление данных.
Мой вопрос заключается в том, могу ли я выполнить очистку информации внутри функции scale_x_log10() в этом коде;
p<-ggplot(data=test.data, aes(x=friend_ratio, y=degree_ratio)) +
scale_x_log10(breaks = trans_breaks("log10", function(x) 10^x),
labels = trans_format("log10", math_format(10^.x)))+
scale_y_log10(breaks = trans_breaks("log10", function(x) 10^x),
labels = trans_format("log10", math_format(10^.x)))+
geom_hex(aes(x= friend_ratio, y=degree_ratio))+
geom_hline(yintercept = 1, size = 0.5,color="red",linetype = 2)+
geom_vline(xintercept = 1, size = 0.5,color="red",linetype = 2)+
theme_bw()
ggplot(data = subset(test.data, is.finite(d.log) & is.finite(f.log)), ...
- person Gregor Thomas   schedule 10.10.2015scale_alpha_continuous(range = c(0, 1))
(по умолчанию это минимум 0,1). Вы также можете преобразовать этот масштаб:scale_alpha_continuous(range = c(0, 1), trans = "log")
- person Gregor Thomas   schedule 10.10.2015