Plotting tables in matplotlib

Is it possible to make a scatter or line plot from a table, using matplotlib in a Python script? Or do I have to unpack it to get the columns as arrays and then plot them? I see there are shortcut functions for workspaces, to plot spectra or log values.

For now I don’t need the plot to remain “linked” to the table and update if the table changes, but that might be useful at other times.

And does the solution differ in MantidPlot vs Mantid Workbench?

Hi James, this is not currently possible using the plotting shortcut function - you are correct that you’d need to manually unpack the table workspace, and then do the plotting. I believe this is the case in MantidPlot as well. With normal workspaces it is easier as we always know where to find X, Y and error data, but for table workspaces we need more used input, so it is not currently supported.

Alternatively, you can do the line and scatter plots while viewing the table workspace data (right click on columns to mark them as X/Y/Yerr), but I do not think this is what you would like to do.