Quiver arrow •—⟩ become ⟩• for small magnitude of arrow

In second figure, when length of arrow is smaller, arrow is drawn from tip instead of base, i.e. instead of •—⟩ , it is like ⟩• where • is the position of (x, y, z). How to fix this? Because then it apparently change data perspective, it looks like a gap in data which is not the case.

Also is there a better way to plot surface with color on each point coming from another data, instead of value of surface point?

@Abdul_Saboor Can you give us a minimal example that has this problem with quiver? I suspect that it is going to be at least a bit sensitive to the data used and it will be much easier to help you if we have code + (synthetic) data the reproduces the problem.