I am trying to use ggplot to build production data by a company and use dot color to indicate year. The following diagram shows an example based on sample data:

However, often my real data has 50-60 different combinations, thanks to which the company names along the Y axis can be grouped by type and not very asthmatically satisfied.What is the easiest way to show data only for information about the top 5 companies (estimated by the quantization of 2011), and then display the rest of the aggregated and shown as "Other"?
Below are some sample data and the code I used to create the sample chart:
c=c("AAA","BBB","CCC","DDD","EEE","FFF","GGG","HHH","III","JJJ")
q=c(1,2,3,4,5,6,7,8,9,10)
y=c(2010)
df1=data.frame(Company=c, Quantity=q, Year=y)
q=c(3,4,7,8,5,14,7,13,2,1)
y=c(2011)
df2=data.frame(Company=c, Quantity=q, Year=y)
df=rbind(df1, df2)
p=ggplot(data=df,aes(Quantity,Company))+
geom_point(aes(color=factor(Year)),size=4)
p
, , , , , . .