One of the things that bugs me about axes.hist is that with histtype='step' the automatic legend style is an empty box, instead of a line, as I would expect. This behaviour doesn't seem to make sense, because it seems a line would be much more appropriate for this case. Example is attached for the code:
import matplotlib.pyplot as plt plt.hist([0,1,1,2,2,2], [0,1,2,3], histtype='step', label="histtype='step'") plt.legend() plt.show() I can get around this by using proxy Line2D objects in building the legend, but as this is an extremely common operation for me (the common style of histograms in my field is equivalent to step) this becomes messy and annoying. I'd rather not have to roll my own histogram drawing function, as it would be almost entirely duplicating the axes hist code, and don't know another way to get what I want. I understand that the way of setting Legend styles is something that has been looked at recently, but don't know the timescale for any changes. The cause of this is the fact that in axes.py::7799 (current SVN head), in axes.hist, patch objects are always created, even for the line-based step style. I searched the tracker briefly, and couldn't find this mentioned before. I therefore have a few questions: - Is this intended behaviour, that I am just not understanding the requirement for? - Would changing this to create (and thus return) Line2D's instead of Patch's for this histtype be a horrible breaking of the return interface? I've attached a patch that makes the simple change of swapping out the call to .fill for .plot (only the function is changed here, not yet the documentation), and it appears to work but I haven't tested exhaustively. Thoughts? Nick
<<attachment: step_legend.png>>
histtype_plot.patch
Description: Binary data
------------------------------------------------------------------------------ The modern datacenter depends on network connectivity to access resources and provide services. The best practices for maximizing a physical server's connectivity to a physical network are well understood - see how these rules translate into the virtual world? http://p.sf.net/sfu/oracle-sfdevnlfb
_______________________________________________ Matplotlib-devel mailing list Matplotlib-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-devel