-1
votes

Barchart empilé sur la semaine de travail et un autre groupe

J'ai plusieurs critères à partir de ce que je veux créer une barchart empilée.

Mes critères sont: Semaine de travail, quantité, client, étiquette (reçue, expédiée) p>

ceci (facet_grid (~ tag)) semble ok mais n'est pas vraiment ce dont j'ai besoin. P>

ggplot(allRecords, aes(x = reorder(WW,Date), y = Quantity, fill = 
Customer)) + 
geom_bar(stat = "identity", position = "fill", colour = "black") + 
facet_grid(~Tag) +
labs(x = "Work Week") + 
ggtitle("Goods last 3 months by core customers") +
theme_bw()


7 commentaires

Stackoverflow.com/help/how-to-ask


Êtes-vous capable de faire des données d'échantillon / mannequin qui fonctionne avec l'intrigue que vous avez? Il ne doit pas nécessairement être de nombreuses lignes, juste un petit ensemble de données pouvant être utilisées pour tester des solutions.


Bonjour, les cartes à barres empilées sont souvent une douleur à construire, nécessitant généralement pivoter les données (DPLYR :: Rassembler). Comment voulez-vous que le tableau de sortie ait l'air (x, y, groupe, couleur, etc.)?


Mon X-Axe est la semaine de travail, la barre empilée est le nombre de biens pour chaque client. J'ai déjà la carte via facet_grid (~ tag) mais j'ai besoin de chaque semaine de travail une barre empilée pour la réception et une barre empilée pour des marchandises expédiées. Si vous exécutez le code ci-dessus avec les rangées d'échantillons, vous verrez ce que je veux dire. Désolé, je ne sais pas comment le décrire de manière meilleure.


Je comprends cela - dans votre graphique d'échantillonnage, reçu et expédié sont Facet'ed, et les clients sont empilés de la semaine - mais vous souhaitez que vous souhaitiez recevoir et expédié empilés de la semaine. Dans la fin de trois piles (1 pour chaque semaine) pour chaque client.


GGPLOT (Allrecords, AES (X = réorganisation (WW, date), Y = Quantité, Fill = Tag)) + Geom_bar (STAT = "Identity", position = "pile", couleur = "noir") + facet_grid (~ client )


Merci pour votre réponse. C'est une bonne vue sur les données aussi. Je ne veux pas que la face facetting, j'ai besoin de chaque semaine de travail deux cartes empilées, une pour expédiée, une pour recevoir. Tout dans un graphique.


3 Réponses :


0
votes

Quelques rangées d'échantillons:

WW <- C (1,1,1,2,2,2,2,3,3,3)

Quantité <- C (12,23,12,34 56,23,10,11,23)

Date <- Lubridate :: YMD_HMS (C ("2019-01-03 10:07:31" 2019-01-03 10:07:31 "," 2019-01-03 10:07:31 "," 2019-01-09 15:49:41 "," 2019-01-09 15: 49: 4 "," 2019-01-09 15: 49: 4 "," 2019-01-16 09:53 : 56 "," 2019-01-16 09:53:56 "," 2019-01-16 09:53:56 "))

Client <- C ("C1", "C2", "Autre", "C1", "C2", "Autre", "C1", "C2", "Autre")

tag <- AS.Factor (C ("reçu", "reçu", "expédié", "expédié", "reçu", "reçu", "reçu", "reçu", "reçu")) / p>

enregistrements <- data.frame (ww, quantité, date, client, tag)


2 commentaires

Vous pouvez faire des données.frame sans intermédiaire var: allRecords <- data.frame (WW = C (1,1,1,2,2,2,2,3,3,3), quantité = C (12,23,12, 34 56,23,10,11,23), date = lubridate :: ymd_hms (c ("2019-01-03 10:07:31", "2019-01-03 10:07:31", "2019 -01-03 10:07:31 "," 2019-01-09 15:49:41 "," 2019-01-09 15: 49: 4 "," 2019-01-09 15: 49: 4 ", "2019-01-16 09:53:56", "2019-01-16 09:53:56", "2019-01-16 09:53:56"), Client = C ("C1", " C2 "," Autre "," C1 "," C2 "," Autre "," C1 "," C2 "," Autre "), Tag = AS.Factor (c (" reçu "", "reçu" ". "," Expédié "," reçu "," reçu "," expédié "," reçu "," reçu ")))


Vous pouvez faire une semaine plus facile comme ceci - ww = lubridate :: semaine (c ("2019-01-03 10:07:31", ...



0
votes

0
votes

Data xxx

code xxx

sortie

 graphique à barres empilée


0 commentaires