Here is a code that plots your arrows correctly: Cases[1.56664 DiracDelta[(4.3 + 0. I) - x] + I Sqrt[\[Pi]/2] DiracDelta[(4.6 + 0. I) - x] + 1.56664 DiracDelta[(4.3 + 0. I) + x] - I Sqrt[\[Pi]/2] DiracDelta[(4.6 + 0. I) + x], a_ DiracDelta[b_] :> {{a}, x /. Solve[b == 0]}]; di = Flatten[Tuples /@ %, 1]; im = Select[di, Im[#[[1]]] != 0 &]; re = Select[di, Im[#[[1]]] == 0 &]; mm = Max[Abs[Join[re[[All, 1]], Im[im[[All, 1]]]]]] + 0.1; Plot[{}, {x, -5, 5}, Epilog -> {Red, Arrow[{{#[[2]], 0}, {#[[2]], #[[1]]}}] & /@ re, Blue, Arrow[{{#[[2]], 0}, {#[[2]], Im[ #[[1]]]}}] & /@ im}, PlotRange -> mm] Clear[di, im, re, mm] [![enter image description here][1]][1] He are more complex `DiracDelta` functions plotted: -2 DiracDelta[x + 1] + 5 DiracDelta[(7 x + 3) (x - 4)] - 3 I DiracDelta[x - 3/2] + 2 I DiracDelta[x + 3] [![enter image description here][2]][2] [1]: https://i.sstatic.net/dIomK.png [2]: https://i.sstatic.net/IRvIn.png