Hello colleague, things that i would like to see in a plotting tool:
1) If it's interactive, somehow record the interactions. Like in a list "panned to 0,30,200; zoomed to .22; moved view axis to 0,22,-100; highlight dataset 2" etc. and have to counterpart available that all actions you do on the plot can be done by commands/functions in the same way. 2) Externalise all internal data - treat the plot as a data structure (in julia via typedef). There are various reasons, why a user of your tool has a better idea where to put a legend or title string, than your automatic solutions for this (some people claim matlab's set/get does something like this, believe me, they are wrong). 3) Even if it's obvious to you to optimize plotting by doing things in the same function: Split all your processing and automatic setup to dedicated functions. Two reasons: This will be developed further by others (hopefully); In Julia with the availability of function pointers, a user might have a better idea of doing something, so it should be easy to replace (rather than changing your code). 4) Save/Load system independent. 5) Take the issue of coordinate transformation serious. You will have at least one step from raw-data to something like intermediate data (think about a log-scale on one of the axis) and one step from intermediate data to plot coordinates (like limiting). 6) Make it easy to put additional information into the plot. Text boxes, Markers, limits, thresholds (which might be surfaces of their own).