Try adding position = "identity"
to your geom_bar
call. You'll note from ?geom_bar
that the default position is stack
which is the behavior you're seeing here.
When I do that, I get:
print(ggplot(melted,aes(x=x,y=value,fill=variable)) +
geom_bar(stat="identity",position = "identity", alpha=.3))

And, as noted below, probably position = "dodge"
would be a nicer alternative:
