Blender is the tool and bpy is the API.
If you want to render geometry you can use
bpy to deal with any meaningful input. Blender has been used effectively to display data for scientific publications for many years. I'll add a non-exhaustive list below. But if you are expecting ready made functions to plot a 3D scatter plot with scales and cube grid, with evenly spaced intelligent sub-ticks, I'm not aware of any. However, once written you can pump similar data through that routine in the future. This might be a lot of work the first time, but then you learn how to do it and can customize your visualizations meticulously.
The more you can prime your data in those packages like matlab, octave, numpy, and scipy prior to bringing it into Blender the better. (ie. find the min / max / scale / appropriate dimensioning values, tag your data set ..etc). If you are using matplotlib, it is possible to retrieve generated plot data (like autoscaling margins..etc) and use that to build your custom scene.
In recent official builds (and from builder.blender.org/download/) the numeric Python library numpy is included by default. Allowing you to speed up a lot of heavy computations which don't rely directly on bpy.
Useful plotting addons:
Add Mesh / Add 3d Function Surface: Takes formulae for x, y and z axis and generates the surface mesh.
Sverchok: This node based geometry generation add-on is developed primarily with Architecture and Design in mind, but it can generate meshes from any kind of data, or a combination of its 150+ nodes. If the data type isn't supported by default you can easily write an importer or ask on our Github issue tracker for advice.
Examples of scientific usage of Blender
This researcher at the Max Planck Institute for Dynamics and Self-Organization used it here: http://www.gibert.biz/downloads/3dscatterplotswithblender
(with an example script, and data)
There's a thread over at BlenderArtists about his forays into visualizing that data.
http://bioblender.eu/ with some fantastic renderings of molecular structures. From version 1.0 onwards this has become an addon, and has its own Github repository
excerpt from the site:
BioBlender is the result of a collaboration, driven by the SciVis
group at the CNR in Pisa (Italy), between scientists of different
disciplines (biology, chemistry, physics, computer sciences) and
artists, using Blender in a rigorous but at the same time creative
Visualize Color Spaces
Interesting visualization from Mark Meyer to show color spaces.
http://mcell.org/ (combines matplotlib and Blender 2.6x)
MCell and CellBlender development is an ongoing collaboration between
researchers at the Pittsburgh Supercomputing Center, the Department of
Computational and Systems Biology of the University of Pittsburgh, and
the Computational Neurobiology Laboratory at the Salk Institute, with
support from the National Institutes of Health, the Howard Hughes
Medical Institute, and the National Science Foundation.
An Astrophysical Visualization Package for Blender. http://www.astroblend.com/
From the abstract to this paper, which is introductory to AstroBlend
an open-source Python library for use within (...) Blender. (...) AstroBlend combines the three dimensional capabilities of Blender with the analysis tools of the widely used astrophysical toolset, yt, to afford both computational and observational astrophysicists the ability to simultaneously analyze their data and create informative and appealing visualizations
A swift google search for blender for scientific visualization returns many examples of people using Blender with their data.
I started a github repo with scripts that may be of use for understanding how to create 3d meshes from functions, called BlenderSciViz. It is still rather minimal but I welcome any reasonable feature requests if you can provide me with representative data sets so I can test and fine tune the resulting geometry algorithms.