R is a more compact, target oriented, package. Good if you want to focus on very specific tasks (generally scientific). Python, on the other hand, is a general purpose language.
That being said, and obviously this is a matter of opinion, if you are an experienced developer go for Python. You'll have far more choices in libraries and a far bigger potential to build big software.
Some examples of 2D scientific plotting libraries:
Some examples of 3D scientific plotting libraries
Some examples of libraries typically used in Data Science in Python:
Also check the list for other relevant Scikit packages.
As for starting software I would advise you to use any of the already prepared Python distributions that already come with a bunch of scientific libraries inside as well as software such as IDEs. Some examples are:
Personally I'm a user of WinPython due to being portable (former user of Python XY, both are great). In any case these distributions will greatly simplify the task of having your scientific Python environment (so to speak) prepared. You just need to code. One IDE known to be specially good for scientists is Spyder. Yet these ones also will work:
As for data visualization tips you'll see that the most common functions in the libraries mentioned above are also the most widely used. For instance a library like Pandas let's you call plots directly from the object so there is already an intuitive approach to data visualization. A library like scikit-learn (check the site) already shows examples followed by data visualization of the results. I wouldn't be too concerned about this point. You'll learn just by roaming a bit on the libraries documentation (example).