내 목표는문제는 내가 R.에서 ggplot2를 사용하여 로그 스케일로 그룹화 된 막대 그래프를 만들려고
R.에서 다음 플롯을 다시했다생성 한 프로그램이 고해상도 그래프를 만들 수 없기 때문에. 숫자의 범위는 1에서 1000 이상까지이며 그 사이의 모든 곳에서 로그 스케일이 필요합니다.
이 코드는 사용하고있는 코드뿐만 아니라 단순화 된 버전의 데이터 프레임 스 니펫입니다. ggplot2를 사용하여 줄거리를 만들 수 있었지만, 제 문제는 데이터에 1을 많이 가지고있어서 0으로 플롯되고 -1은 0으로 표시된다는 것입니다. 내 R 음모가 어떻게 생겼는지.
genus_counts <- read.table(text = "Genus variable value
1 Lepisosteus JBGC462 0
2 Lepomis JBGC462 6
3 Micropterus JBGC462 2
4 Perca JBGC462 2
5 Ictalurus JBGC462 1
6 Lepisosteus JBGC13 13
7 Lepomis JBGC13 0
8 Micropterus JBGC13 0
9 Perca JBGC13 0
10 Ictalurus JBGC13 0", header = TRUE)
ggplot(genus_counts, aes(x=Genus, y=value, fill=variable))+
geom_bar(stat="identity", position="dodge")+
scale_y_log10()
가 수학적으로, 나는이 경우 이유를 이해 (또한 막대 그래프에서 해당 로그 스케일은 정말 이상하지 않습니다). 그러나 내가 흉내 내려고하는 음모에 더 가까운 일치를 얻기 위해 음모 (또는 음모에 넣는 수)를 조정할 수있는 또 다른 방법이 있습니까?
'scale_y_sqrt()'유사한 질문 – Mako212
많은, 예를 들어, [이 사람] (https://stackoverflow.com/questions/41047939/ggplot-barplot-how-to-display-small- 양수 - 로그 스케일 된 y 축). 또한, 최고의 충고는 항상 ** 막대 차트와 로그 축을 혼합하지 마십시오 **. 0 또는 -'s로 불가능합니다. 모든 값이 + ve 일지라도, 막대는 오해의 소지가 있습니다. (1) 막대를 따라 거리를 직선으로 인식합니다. (2) 막대의 상대적 크기는 막대의 하단에 대한 값의 선택에 따라 임의로 결정됩니다. 따라서 마음대로 차이를 억제하거나 과장 할 수 있습니다. 당신이 다른 사람들의 예를 찾을 수 있기 때문에, 그것을 좋아하지는 않습니다. – dww
... 대안으로는 (1) 모든 값이 양수인 경우 점선 차트, (2) 그룹을 별도로 표시하는 무료 (선형) y 축척으로 패싯하거나 (3) 주문 수가 많지 않은 경우와 같이 (3) 범위를 확장하려면 선형 축을 사용하십시오. – dww