There are two effects that cause ghosting in LED matrices like the one you designed. The first the the switching time of the row transistor you use, and the second is the parasitic capacitance of the LEDs themself.
Every transistor takes a finite amount of time to turn on or turn off. If you turn off Row A at the same moment you turn on Row B, the reality is that for a very small amount of time, Row A and B are both on as you are waiting for the Row A transistor to fully turn off. In most situations, you will not notice this because it's such a small amount of time. But if you are repeatedly scanning through the rows in order to multiplex an image, this small amount of time becomes an appreciable percentage of the total amount of time any given row is intended to be on, and thus your eye can see it. For example, let's just say the turn off time of the the transistor is 1 micro-second, and you are scanning through the rows such that each row is on for 1 millisecond (which means 125 FPS for an 8-row matrix), that means your unwanted row power due to slow transistor turn off times will be 0.1% of the total time, effectively translating into the brightness level for the ghosting.
There are two ways to deal with this transistor off time. One is to do as previously suggested is to put a small delay between turning off Row and and turning on Row B (and so on for other rows), effectively giving Row A's transistor some time to turn off. Review your transistor's specification to determine how much time you need. The other technique is to use a Schottky diode between the base and the collector to cause a little back current to the base when the transistor is on, preventing the transistor from getting saturated. Preventing the transistor from being fully saturated significantly reduces its off time.
The other cause is parasitic capacitance, though this is more prevalent in RGB LEDs. With parasitic capacitance, the LED build a small charge while it is on, that get's discharged when it is off. That discharge will follow the column to the row that has its sink open (basically, the row that's currently on), thus effectively illuminating the row's LED for a short period of time what the capacitance charge is dissipated. The way to deal with parasitic capacitance is to create a discharge path for each row by adding a 1K to 2K resistor to ground on each row. Yeah, this increases current when the row is on, but not by much. Then, add a small delay between turning off one row and turning on the next row. This gives the row that was turn off some time to discharge the parasitic capacitance it's LED's built up while they were on.
I go into more detail on these topics in my LED Matrix Instructable here.