It depends. The thing for Java (and other crossplatform framworks) is that it doesn't look quite right on the Mac. Mac users, a cranky lot, will probably complain about the UI not looking and behaving right on their platform.
I've had a lot of experience getting wxWidgets apps looking "right" on the Mac, and in some cases working at all, and my rough figure is it takes 20% of your effort to get it working/feeling right on the Mac. But it can be done. (Even if you don't care about how your Mac users feel, still budget in some time to look at the Mac - and all the other platforms you deploy your wxWidgets app on - there will probably be bugs just running your app.
At the very least, with wxWidgets/other cross-platform-frameworks, you may run into cases where you need to use platform specific code (somewhere) to get the proper affect (you want to have a preference to launch your application at startup, for example: custom code).
There is a movement in the Mac programming community, although I'll admit it's not feasible in highly GUI intensive apps, is to write platform specific UIs for each platform. If your business logic is factored correctly, this should theoretically be possible. Say write your business logic in C++, then call that C++ from your .NET GUI, and call that C++ from your Cocoa UI on the Mac.
In one project I was on this separate UI approach would not have worked at all (the UI was just waaaayyy tooo big). On another project it might have worked, although the UI was really small.
@Pete Kirkham had suggested OpenGL: if it was a matter of doing a shell for each platform with (however you do an OpenGL view in each), you'd have your view code done for each platform too, if OpenGL is feasible in your case.
Then there's the the web. There's been some interesting work over the last few years on graphing in the web space. It could be that your needs (heavy data, graphing) outweigh what's available, or you have to worry about server deploying and (say) keeping up with heavy computation requests from your users. Could be that a web approach works very well - only one place to deploy the software, etc etc.
I think it all comes down to what framework has the graphing and data tools you need. wxWidgets has a graphing framework that comes to mind: wxPlot (and I think there's another one). There's also a sample, from NVIDIA, on how to use their Scene Graph SDK using wxWidgets. A platform specific application for the Mac could take use of Core Plot. There's various graphing frameworks for the web.
Or maybe QT or Mono have better graphing abilities, or some other thing that your application depends on, so you end up going that way.