It is definitely possible to compile an m file to a standalone exe file, for example in the form of a GUI / app. When you open the application compiler, you can add your main file; the compiler will then automatically "run through" the script and fine all calls to your own functions - which will be added in the "files required for your application to run" menu in the app compiler window. A popular way to keep track of functions, is to have your main.m file and in the same directory a folder named subfunctions, in which you place all "downstream" functions that you call. Then simply start your main script with
and you're flying!
And yes, you can make plots and histograms in a compiled exe. Do keep in mind though, that the exe does only what the script tells it to, so if you have a (super simple example) code that does this:
x=[1 2 3 4 5 6 7 8 9 1 5 2 5 2 8];
and you compile it to an app and run it, all you will get is a figure of that histogram, from that specific x. You need to make functions to get in 'new data' yourself, and if you want the possibility to both make histograms and regular plots, you also need to define that yourself :)