Hi All, Been reading this mail-list for a long time, I came to a conclusion, that principal structure of the program is not well thought.
Look at the ton of mails where is asking how to change one or another parameter in the given Plot. People just don't remember all functions or variables which provide needed functionality. It means that Matplotlib is cumbersome and not easy to overview. >From other point of view most people use often the same plot format they've chosen some times ago. So they don't need to change the elements format for every Plot. Looking at matplotlibrc file we'll see, that it has to much parameters defined by default. Either you keep they as is, or you'll have to change most of them to produce Plot you want. The problem hidden here is non compatibility. You can't send script to another machine and produce the same plot. Having the same matplotlibrc file for all is not possible. Cause everyone has his own view how it should look like. That means, to make the script compatible you have to change all parameters you want within the script. It's only one working solution for now. But, it looks ugly and makes code way too long it could be. What is the solution of all this issues? First, we have to understand that every Plot could be described with a markup language, cause it's nothing else as a vector graph. And building of such a plot is differ from the solution of mathematical equation. In the last case only the result is important, but for the plot even the part of them is the vector graph. And every part of it could be rendered separately. Almost separately... Understanding of this can push the development of matplotlib further. We don't need matplotlibrc anymore, but just a template file for every plot. It could be the base template file, where main parameters described and also custom template where maybe some partial parameters defined, like Legend, size of the plot, scale etc. The matplotlib in that case should produce the plot from known parameters leaving not known parameters not visible. Just imaging the Plot without any graphic curve on it. It could be processed without knowing how the curve looks like. Rendering it and saving into the svg file or meta svg file for example you may drastically improve the time needed for the rendering the finished plot with certain curve on it. Taking some coordinates from the template you need to calculate only the curve from the given data table. And moreover user don't have to care about format of many elements like text size distance between elements, alignment etc... Generating the similar plot can be improved. But even the keeping of the same style of different plot for a publication is easy possible. >From the developing point of view using tons of function to adjust one or another parameters from a million is not really a nice solution. Even the object paradigm doesn't help here. Actually what we have to do is just _to describe_ how our plot should look like. So why to program anything if it's easier to describe? For that such languages like json or yaml could be utilized. And the matplotlib have to parse the code and generate kind of template where you can put your data. Then one can really produce 3 lines code to plot his data in any way he wants. It will also help to integrate the matplotlib with any software which produces vector drawings. Please, answer what do you think about it. Thanks for comments. Alex ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users