On 05/02/2010 05:48 PM, Kun Hong wrote: > Hi, > > I am new to matplotlib. So if I ask sth stupid, please bear with me. > > I am using matplotlib to present large data set in different graph > types, > bar, dot, line, etc. I find that the bar graph has very bad performance. > Say, I draw data points of about ten thousand. Using dot graph, it draws > in a second. But using bar graph, it draws in tens of seconds. > > I was wondering what causes this difference. Is there a way to improve > the > bar graph performace? (Maybe I am not drawing it right, then, please > give > me a pointer)
Bar is intended for plots in which the bars are individually visible, so it makes sense only for a small number--say 10 or 20 bars. It is implemented using an individual patch for each bar, and this is inherently slow in mpl--but for under 100 bars, it doesn't matter at all. If you have a large number of points, maybe what you are looking for is fill() or fill_between(). Check the links for these in http://matplotlib.sourceforge.net/. Eric > > Below is a simple example: > > from np.random import uniform > from numpy.random import uniform > x = uniform(0, 10, 14000) > y = uniform(0, 100, 14000) > plt.plot(x, y, 'bo') > plt.bar(x, y) > > > Thanks, > Kun ------------------------------------------------------------------------------ _______________________________________________ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users