Beim Stricken eines einfachen Balkendiagramms zu pdf, bekomme ich einige unerwünschte Streifen in meinen Bars (siehe rechte Seite des beigefügten Screenshots).Unerwünschte Streifen in ggplot2 Balkendiagramm beim Stricken nach PDF
---
title: "Don't Panic"
author: "Ford Perfect"
output: pdf_document
---
```{r, include = F}
library(ggplot2)
```
# Introduction
```{r, echo = F, fig.cap = "My plot"}
ggplot(mpg) + geom_bar(aes(x = as.factor(cyl), y = hwy), stat="identity")
```
Diese Streifen werden nicht angezeigt, wenn ich das Grundstück direkt in R-Studio erstellen (siehe linke Seite des beigefügten Screenshot).
fand ich einen Weg, um diese Streifen zu entfernen, indem die Daten vor der Aggregation:
ggplot(aggregate(hwy~cyl,mpg,"sum")) +
geom_bar(aes(x = as.factor(cyl), y = hwy), stat="identity")
So verstehe ich, dass diese Streifen von Stapeln alle anderen Gruppen in den Datensätzen kommen sollte. Diese Theorie erscheint plausibel, da ich zwei Streifen bekomme, wenn ich den Datensatz auch nach Jahren zusammenfasse (2 Uniques im MPG-Datensatz).
ggplot(aggregate(hwy~cyl*year,mpg,"sum")) +
geom_bar(aes(x = as.factor(cyl), y = hwy), stat="identity")
Aber ich dachte, dass ggplot2 automatisch die Aggregation für mich tut, wenn ich Stat gesetzt-Identität? Tatsächlich funktioniert es direkt in R-Studio. Vielleicht hat das Problem mehr mit Knitr zu tun?
Ich glaube, dass ich das gleiche Problem in der Vergangenheit nicht hatte. Vielleicht hat sich etwas mit einem Update geändert? Eigentlich haben alle meine Kollegen (6 andere Mac und Windows Computer) genau das selbe Problem.
R Version 3.4.0 (2017.04.21)
Plattform: x86_64-W64-mingw32/x64 (64-Bit)
ggplot2: 2.2.1
knitr: 1.15.1
Versuchen Sie es mit 'stat = "count"', wenn Sie ggplot wollen, dass es für Sie zu aggregieren. 'stat =" identity "' zeichnet die Zahlen in der Datei auf, ohne zu aggregieren, also stapelt man einfach viele kurze Balken. –
@Andrew, ich denke, sie sind Summen, nicht zählt. 'ggplot (mpg, aes (x = as.factor (cyl), y = hwy)) + stat_summary (fun.y = 'sum', geom = 'bar')' sollte funktionieren. – Axeman
@Axeman - Entschuldigung, ja, ich stimme zu. –