Sometimes dyes need to be heat set!
Try ironing it slowly with a quite hot iron before you wash it.
Also, wash the fabric by hand in salt water from the sea or make your own salt water. let it dry, wash again in fresh water. Sometimes that sets the dye.
Also try washing soda.
Google vegetable dyes - how to!