2016-06-30 9 views
-1

Ich habe ein Pareto-Diagramm mit Millionen von Datensätzen. Für die Y-Achse habe ich die Funktion Pareto.Chart() verwendet und die Quartile angezeigt. Für die X-Achse habe ich Millionen von Datensätzen und habe die x-Punkte bei Dezilen mit scale_x_continuous() gezeigt, aber ich möchte anstelle der Zahlen 10 20 30 ... 100 anzeigen. Hier ist das Bild, wie es ist und wie ich es will enter image description hereSo beschriften Pareto-Diagramm als Dezile mit nur 10 20 und so weiter

, wie ich will, wie das ist: enter image description here

I ggplot2 und qcc hier verwendet haben. Ich habe verwendet pareto.chart() Funktion nur kumulative Summe zu erhalten und verwendet es dann in Y. Hier ist der Code Teil:

revenue<-custfinal$Revenue 
names(revenue)<-custfinal$customerid 
cummulative<-abspareto(revenue, ylab = "Revenue", xlab="Customer", xaxt="n") 
cummulative<-data.frame(cummulative) 

paretorevenue<-ggplot(data=cummulative, 
       aes(x = seq(1,length(cummulative$Frequency)),y=Cum.Percent.,group=1)) + geom_line(colour="red", size=1) + theme_classic() + theme(axis.text.x = element_text(angle = 75, hjust = 1, size=12)) + labs(x="Number of Customer",y="Revenue Share (%)") +ggtitle("Revenue generated distribution for Yogurt 2016") +ylim(0,100.1)+scale_x_continuous(breaks = round(seq(0,length(cummulative$Frequency),length(cummulative$Frequency)/10),-3))  
print(paretorevenue) 

abspareto() ist etwas, was ich in pareto.chart bearbeitet haben(), so dass es mir nur einen kumulativen Teil gibt.

Antwort

1

Da Sie keine Beispieldaten angegeben haben, habe ich einige Daten von der Hilfeseite ggplot verwendet. Sie können die Hilfsstrichsbeschriftungen mithilfe des Arguments labels innerhalb der scale_x_continuous()-Funktion ändern. Dort können Sie numerisch c(1, 2, 3) oder Zeichenvektoren c("a", "b", "c") einfügen, wie Sie möchten. Die Skala wird nicht geändert.

df <- data.frame(
    x = 1:5, 
    y1 = c(1, 2, 3, 4, NA), 
    y2 = c(NA, 2, 3, 4, 5), 
    y3 = c(1, 2, NA, 4, 5) 
) 
p <- ggplot(df, aes(x, y1)) + geom_line() 
p + scale_x_continuous(labels=c(10, 20, 30, 40, "a")) 

Im Allgemeinen, wie dies Ihr mindestens fivth Frage zu diesem Thema ist, könnten Sie versuchen, Antworten oder markieren Sie Ihre Frage mit ggplot2 und geom_line() eher pareto chart suchen, da dies ein besonderer Begriff nicht so vertraut ist. Ich bin überzeugt, dass die Verwendung dieses Suchbegriffs/Ihrer Schlagzeile Ihre Fragen schneller beantworten wird.

+0

oh es tut mir leid .... du hast die richtige Art von exampla genommen ... was ist der Zweck von "a" in der kontinuierlichen .... entschuldige mich Ich weiß nichts über R viel nur lernen, ich werde versuchen dies und zurück zu dir –

+0

@AbhishekSingh meine Änderungen sehen. – Jimbou

+0

oh ich wusste nicht, ich könnte Etiketten zusammen mit Pausen verwenden. Vielen Dank –

Verwandte Themen