Thinking some more:<div><br></div><div>There are several things associated with a curve:</div><div>i) Name: eg, Inner Frame Gyro</div><div>ii) Quantity: eg, Rate</div><div>iii) Units, eg, ^o/s</div><div><br></div><div>Clearly, the axis should always have Quantity and Units if they are defined.  eg, &quot;Rate [^o/s]&quot;</div>
<meta http-equiv="content-type" content="text/html; charset=utf-8"><div>I think it is fine to assume that an axis has only one quantity [units] even if there are multiple curves in the plot.</div><div><br></div><div>I think that the Name should appear either in the top label or the legend, at the user&#39;s choice, and not in the axis label, unless there is only one curve int he plot, and quantity/units are not defined.</div>
<div><br></div><div>This is what I have just re-implemented.</div><div><div><div><br></div><div><br><div class="gmail_quote">On Sat, Feb 12, 2011 at 6:54 PM, Nicolas Brisset <span dir="ltr">&lt;<a href="mailto:nicolas.brisset@free.fr" target="_blank">nicolas.brisset@free.fr</a>&gt;</span> wrote:<br>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div><div style="font-family:Arial;font-size:10pt;color:#000000"><div>2) legends tend to appear on the curves too often (as per Murphy&#39;s law) and you need to move them manually, which is a pain =&gt; if there is only one curve use a left label, if there are more use a legend as mentioned in 1) but allow the legend to be placed above the plot (as sort of top label if you wish, still inside the plot object but above the top X axis)</div>
</div></div></blockquote><div><br></div><div>Like a super top label...  I think I like it.  Not for 2.0.3 though. </div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div><div style="font-family:Arial;font-size:10pt;color:#000000">
<div class="gmail_quote"><div>3) as legends are important and should take up as little space as possible, and since plots are usually wider than tall as Barth noticed, we should lay them out horizontally by default, while I think &quot;Display vertically&quot; is the default right now<br>

</div></div></div></div></blockquote><div><br></div><div>OK</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div style="font-family:Arial;font-size:10pt;color:#000000">

<div class="gmail_quote"><div>4) units are very very important, they have to be shown if they exist, and be as close as possible to the corresponding axis =&gt; either put it in parentheses or brackets after the name of the variable, or on the axis if it&#39;s the same for all plotted curves<br>
</div></div></div></div></blockquote><div><br></div><div>Units always in the axis label if they exist.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div><div style="font-family:Arial;font-size:10pt;color:#000000"><div class="gmail_quote"><div>
5) try to keep legends short =&gt; if all curves have the same X vector, put its name in the bottom label and use only the Y vector name in the legend (right now the x vector is repeated uselessly). The same applies for units: if all curves have the same unit (which should very often be the case, at least until we support multiple axes), then put the unit on the axis and don&#39;t repeat it in the legend<br>
</div></div></div></div></blockquote><div><br></div><div>Yes.  I will look into this for curves.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>
<div style="font-family:Arial;font-size:10pt;color:#000000"><div class="gmail_quote"><div>
6) I presume we can make the assumption that identical units imply identical quantities<br></div></div></div></div></blockquote><div><br></div><div>Yes. </div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div><div style="font-family:Arial;font-size:10pt;color:#000000"><div class="gmail_quote"><div>A small, slightly unrelated point while I&#39;m thinking of it: let&#39;s not forget that at some point it would be nice to support dual/multiple axes. I think we should do  something like Origin: <a href="http://www.originlab.com/www/products/image/graph_multipleXYaxes_tchgrph_486px.png" target="_blank">http://www.originlab.com/www/products/image/graph_multipleXYaxes_tchgrph_486px.png</a> (btw, coloring the axes like the corresponding curve is a pretty cool option). This shows again that the top label is not very well suited to put unit information, or even variable names.<br>
</div></div></div></div></blockquote><div> </div><div>Its in my wishlist. </div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div style="font-family:Arial;font-size:10pt;color:#000000">
<div class="gmail_quote"><div>So, now let&#39;s try to do it in pseudo-code. Barth, this is just so that you forgive me for the numerous requirements and get motivated to do it for 2.0.3 :-) Of for Peter, if he beats you to it.<br>
<br>I think it requires the following properties in plot objects (maybe they are already there, I haven&#39;t checked):<br>
- legend position enum: above plot (default), in plot fixed position, in plot auto position (for the future, when we use collision detection to automatically put it somewhere it minimally covers curves!)<br></div></div></div>
</div></blockquote><div><br></div><div>Plot auto can be bad for real time data - legend bouncing around!  But I like the &#39;super top-label&#39; idea.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div><div style="font-family:Arial;font-size:10pt;color:#000000"><div class="gmail_quote"><div>- legend layout: horizontal (default), vertical<br>
- legend wrap: reduce font size, carriage return (I&#39;m writing this since  I&#39;m thinking of it, but that&#39;s probably for post-2.0.3). That is what &quot;legends should be wrapped to always fit inside their plot&quot; hints at in the roadmap<br>

- legend show: always, auto (default - means yes if there is more than one curve, no otherwise), never (maybe the user has put it manually, or in only one plot)<br></div></div></div></div></blockquote><div><br></div><div>
Right now this is not a property of the plot, but is rather a datawizard option at creation time.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>
<div style="font-family:Arial;font-size:10pt;color:#000000"><div class="gmail_quote"><div>- legend item contents: Y vector name (default), Y vector name + [unit], quantity: Y vector name + [unit], Y vector name vs X vector name, etc... (there is probably a smarter way to handle all combinations, maybe another property to remember whether x, y, both or none need units...)<br>
</div></div></div></div></blockquote><div><br></div><div>Units don&#39;t ever belong in auto-legend names.  They belong on the axis.</div><div> </div><div><br></div></div>-- <br><span style="font-family:arial, sans-serif;font-size:13px;border-collapse:collapse;color:rgb(136, 136, 136)">C. Barth Netterfield<br>
University of Toronto<br>416-845-0946</span><div>
<span style="font-family:arial, sans-serif;font-size:13px;border-collapse:collapse;color:rgb(136, 136, 136)"><br></span></div><br>
</div></div></div>