I work a lot with python programmers to generate a variety of charts and graphs. Often, I play around with Graph Builder (or some other JMP platform) to get what I want. Then I save it as a graphic, send it to them and say "make this".
It would be much more efficient, if I could just send them the JSL code and use JMP as the graphic back end. The idea is that when a graph is needed, a python script would send the appropriate JSL code to JMP. JMP would generate the graph and save it as an image for further use by the python script.
Is something like this possible with JMP? Does anyone know how to do this? We have the python capability. It's the python/JMP interface stuff that has me baffled.
JMP's Python support is provide by JMP embedding the Python interpreter. Loading the Python shared library you have on your system. JMP can run Python scripts, can pass data back and forth between JMP and the Python instance running within JMP. JMP does not have an external Python interface, for example where one could do import JMP in a standalone Python instance. To run JMP externally there are 2 ways that are portable, and one that works on Windows only. Portably, you can run JMP from the command line launching JMP with a JSL script, but you still may get dialogs and all of that. 2. Run a JSL script that listens on a socket, the external program sends commands to JMP over a socket, and the JSL script has to parse the communication to call the appropriate commands. Finally, on Windows, JMP exports Windows Automation COM interfaces. With the appropriate Python COM packages, your Python program could drive JMP through the COM automation interface. At present option 3 is your best bet in accomplishing such interaction.