As the comments say, you need to post a reproducible example. This assumes there is one row per butterfly species.
# generate reproducible example
set.seed(1)
df <- data.frame(Butterfly=LETTERS[1:10],
Families=sample(1:20,10,replace=T),
Genera=sample(1:20,10,replace=T),
Species=sample(1:20,10,replace=T))
library(ggplot2)
library(reshape2)
gg <- melt(df,id="Butterfly",value.name="Freq", variable.name="Type")
ggplot(gg, aes(x=Butterfly, y=Freq, fill=Type))+
geom_bar(stat="identity")+
facet_grid(Type~.)

You can also put everything on one plot (without facets), but IMO it is much less clear.
ggplot(gg, aes(x=Butterfly, y=Freq, fill=Type))+
geom_bar(stat="identity", position="dodge")

EDIT (Response ot OP's comment)
So now that we have the data, there are several options - all of which are variations on a theme. Since the names of the butterfly families are long, we can rotate the labels:
df <- structure(list(Butterfly_Family = structure(c(4L, 5L, 3L, 6L, 2L, 1L), .Label = c("Hesperiidae", "Lycaenidae", "Nymphalidae", "Papilionidae", "Pieridae", "Riodinidae"), class = "factor"), Family = c(13L, 15L, 55L, 1L, 55L, 33L), Genara = c(50L, 42L, 219L, 2L, 148L, 97L), Species = c(88L, 79L, 307L, 2L, 233L, 137L)), .Names = c("Butterfly_Family", "Family", "Genara", "Species"), class = "data.frame", row.names = c(NA, -6L))
gg <- melt(df,id="Butterfly_Family",value.name="Freq", variable.name="Type")
ggplot(gg, aes(x=Butterfly_Family, y=Freq, fill=Type))+
geom_bar(stat="identity")+
theme(axis.text.x=element_text(angle=-90, vjust=0.2))+
facet_grid(Type~.)

Alternatively, we can rotate the whole graph, using coord_flip()
.
ggplot(gg, aes(x=Butterfly_Family, y=Freq, fill=Type))+
geom_bar(stat="identity")+
coord_flip()+
facet_grid(Type~.)

Finally, we can rotate the graph and change the facets from row-wise to column-wise.
ggplot(gg, aes(x=Butterfly_Family, y=Freq, fill=Type))+
geom_bar(stat="identity")+
coord_flip()+
facet_grid(.~Type)
