On 2/24/2013 1:28 PM, Paul Anton Letnes wrote: > Hi everyone, > > I've been looking into making an animation of a mechanical system. In its > first incarnation, my plan was as follows: > 1) Make a fading line plot of two variables (say, x and y) > 2) Run a series of such plots through ffmpeg/avencode to generate an animation > > First, I'm wondering whether there's a built-in way of making a fading line > plot, i.e. a plot where one end of the line is plotted with high alpha, the > other end with low alpha, and intermediate line segments with linearly scaled > alpha. For now, I've done this by manually "chunking" the x and y arrays and > plotting each chunk with different alpha. Is there a better way? Is there > interest in creating such a plotting function and adding it to matplotlib? > > Second, is there a way of integrating the "chunked" generation of fading > lines with the animation generating features of matplotlib? It seems > possible, although a bit clunky, at present, but maybe someone has a better > idea at what overall approach to take than I do. > > Cheers > Paul > ------------------------------------------------------------------------------ > Everyone hates slow websites. So do we. > Make your web apps faster with AppDynamics > Download AppDynamics Lite for free today: > http://p.sf.net/sfu/appdyn_d2d_feb > _______________________________________________ > Matplotlib-users mailing list > Matplotlib-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Paul, I've had to do something similar to what you need, and I found the following example from the Gallery quite helpful: http://matplotlib.org/examples/pylab_examples/multicolored_line.html I think the second plot in particular is pretty close to what you want; however, you'll need to set the alpha values manually. This is what I've done for line collections, scatter plots, etc. _________________________________ import numpy as np import matplotlib.pyplot as plt norm_data = np.random.rand(20) xs = np.random.rand(20) # Pick a colormap and generate the color array for your data cmap = plt.cm.spectral colors = cmap(norm_data) # Reset the alpha data using your desired values colors[:,3] = norm_data # Adding a colorbar is a bit of a pain here, need to use a mappable fig = plt.figure() plt.scatter(xs, norm_data, c=colors, s=55) mappable = plt.cm.ScalarMappable(cmap=cmap) mappable.set_array(norm_data) fig.colorbar(mappable) plt.show() _________________________________ Hope that helps a little. Ryan ------------------------------------------------------------------------------ Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_d2d_feb _______________________________________________ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users