Re: [Matplotlib-users] Happy Valentine's Day
On 2/14/14 4:13 PM, Benjamin Root wrote: I rolled a 20 today for necromancer, so I am going to do a thread resurrection. Given recent improvements in matplotlib, we should definitely make this web-enabled. That way, we can share our nerdiness with our non-nerdy significant others. Here's one try, with the experimental CommFigure IPython comm-based matplotlib backend I tweaked a few months ago: http://sagecell.sagemath.org/?q=vcycko (it responds to mouse motion, so move your mouse around. Change the duration line at the top to change how fast the heart beats.) Thanks, Jason -- Android apps run on BlackBerry 10 Introducing the new BlackBerry 10.2.1 Runtime for Android apps. Now with support for Jelly Bean, Bluetooth, Mapview and more. Get your Android app in front of a whole new audience. Start now. http://pubads.g.doubleclick.net/gampad/clk?id=124407151iu=/4140/ostg.clktrk ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] Reports from SciPy 2013
On 7/1/13 9:33 AM, Michael Droettboom wrote: SciPy 2013 was a great success. I didn't get good headcount at the matplotlib BOF, but it was a good number, and we had 15 participants at various points during the sprints. It was nice to see the diversity of experience with matplotlib at the sprints, and I hope we oldtimers were helpful to the newtimers getting started so they can continue to contribute in the future. It was also great to put some faces to many of the talented names I've been seeing on github and the mailing list lately. On a slightly different, but related topic: is there any chance the entries (or at least the winning entries) to the plotting contest could be posted online? Thanks, Jason -- This SF.net email is sponsored by Windows: Build for Windows Store. http://p.sf.net/sfu/windows-dev2dev ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] 3d performance question
On 12/18/12 6:53 AM, Sturla Molden wrote: Interactive 2D plots can be sluggish too, if you have enough objects in them. It is not the backend that is sluggish. Replacing the backend does not speed up the frontend. OpenGL is only 'fast' if you have a frontend that exploits it (e.g. uses vertex buffers and vertex shaders). If you just use OpenGL for bitblitting an image or drawing vertices individually (glVertex*), it is not going to help at all. My impression is that whenever Matplotlib is 'too slow', I have to go down to the iron and use OpenGL directly. It tends to happen when there are too many objects to draw, and the drawing has to happen in 'real-time'. Observe that if we let OpenGL render to a frame buffer, we can copy its content into a Matplotlib canvas. Unless we are doing some really heavy real-time graphics, displaying the image is not going to be the speed limiting factor. Even though using OpenGL to swap framebuffers will be 'faster', you will not be able to tell the difference in an interactive Matplotlib plotting. I'm curious: how come Chaco is so much faster for real-time plots? What are the main technical differences to enable it to plot things much more quickly? Thanks, Jason -- LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial Remotely access PCs and mobile devices and provide instant support Improve your efficiency, and focus on delivering more value-add services Discover what IT Professionals Know. Rescue delivers http://p.sf.net/sfu/logmein_12329d2d ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
[Matplotlib-users] IPython receives $1.15 million from Alfred P. Sloan Foundation
Hi everyone, Just FYI, IPython just received $1.15 million in funding from the Alfred P. Sloan Foundation to support development over the next 2 years. Fernando talks more about this in his post to the IPython mailing list: http://mail.scipy.org/pipermail/ipython-dev/2012-December/010799.html It's great to see a significant open-source python project that many of us use on a day-to-day basis get such great funding! Thanks, Jason -- Jason Grout -- LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial Remotely access PCs and mobile devices and provide instant support Improve your efficiency, and focus on delivering more value-add services Discover what IT Professionals Know. Rescue delivers http://p.sf.net/sfu/logmein_12329d2d ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] Plotting a circle while also changing the limits of the axes
On 11/5/12 3:19 PM, Benjamin Root wrote: On Mon, Nov 5, 2012 at 3:51 PM, Brad Malone brad.mal...@gmail.com mailto:brad.mal...@gmail.com wrote: Hello, I am trying to plot some small circles in my plotting window, in addition to the curves I'm already plotting. If I don't want to set my x- and y- axis scales equal to each other, a naive drawing of a circle results in an ellipse. To fix this problem I found some nice example code online here : http://stackoverflow.com/questions/9230389/why-is-matplotlib-plotting-my-circles-as-ovals, which solves the problem by basically plotting an ellipse, but an ellipse which will look like a circle in the display window. That works all fine for me, but then, if I change my xlim or ylim using ax1.set_xlim((something1,something2)) then the solution no longer works, and I get an ellipse. A minimal example showing the breaking behavior can be seen below. I am probably gonna reply to that stackoverflow question with a better response... Essentially, you want a similar behavior to the markers in the scatter plots, right? As you zoom or resize the plot, the circle markers stay as circles and have the same size relative to the size of the figure. If that is what you want, the way to do that is very easy. ax1.scatter([0.5], [0.5], s=30) Or whatever size you want (units of points). I think the units are points^2, i.e., area of the circle... Thanks, Jason -- LogMeIn Central: Instant, anywhere, Remote PC access and management. Stay in control, update software, and manage PCs from one command center Diagnose problems and improve visibility into emerging IT issues Automate, monitor and manage. Do more in less time with Central http://p.sf.net/sfu/logmein12331_d2d ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] colormap shift
On 11/5/12 3:50 PM, klo uo wrote: You can see there how to use Gimp and create mpl colormap and then later there is nifty code that will allow you to shift colormaps with a slider Nice! I couldn't resist doing a Sage interact version of the slider thing: http://aleph.sagemath.org/?q=89b0c945-2ce3-4645-bf61-dbe0eed2c5cdlang=sage Thanks, Jason -- Jason Grout -- LogMeIn Central: Instant, anywhere, Remote PC access and management. Stay in control, update software, and manage PCs from one command center Diagnose problems and improve visibility into emerging IT issues Automate, monitor and manage. Do more in less time with Central http://p.sf.net/sfu/logmein12331_d2d ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] XKCD style graphs?
On 10/4/12 2:16 AM, Fernando Perez wrote: This would make for an awesome couple of examples for the gallery, the mathematica solutions look really pretty cool: http://mathematica.stackexchange.com/questions/11350/xkcd-style-graphs The matlab and R version not quite so much, still for reference: http://stackoverflow.com/questions/12701841/xkcd-style-graphs-in-matlab http://stackoverflow.com/questions/12675147/xkcd-style-graphs-in-r Just FYI, wolfram now has a blog post up about it: http://blog.wolfram.com/2012/10/05/automating-xkcd-diagrams-transforming-serious-to-funny/ Thanks, Jason -- Don't let slow site performance ruin your business. Deploy New Relic APM Deploy New Relic app performance management and know exactly what is happening inside your Ruby, Python, PHP, Java, and .NET app Try New Relic at no cost today and get our sweet Data Nerd shirt too! http://p.sf.net/sfu/newrelic-dev2dev ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] XKCD style graphs?
On 10/4/12 4:02 AM, Pierre Haessig wrote: Hi Fernando, Le 04/10/2012 09:16, Fernando Perez a écrit : This would make for an awesome couple of examples for the gallery, the mathematica solutions look really pretty cool: http://mathematica.stackexchange.com/questions/11350/xkcd-style-graphs I've never used Mathematica so that it's pretty difficult for me to understand the following lines of code which I guess do the main job of distorting the image xkcdDistort[p_] := Module[{r, ix, iy}, r = ImagePad[Rasterize@p, 10, Padding - White]; {ix, iy} = Table[RandomImage[{-1, 1}, ImageDimensions@r]~ImageConvolve~ GaussianMatrix[10], {2}]; ImagePad[ImageTransformation[r, # + 15 {ImageValue[ix, #], ImageValue[iy, #]} , DataRange - Full], -5]]; Is there somebody there that can describe this algorithm with words (English or Python ;-)) ? f@r means f(r) a~ImageConvolve~b means ImageConvolve(a,b) (~ treats an operator as infix) Table[..., {2}] means [... for i in range(2)] #+1 is a lambda function lambda x: x+1 So I think it goes something like: def xkcdDistort(p): r = ImagePad(Rasterize(p), 10, Padding='White') (ix, iy) = [ImageConvolve(RandomImage([-1,1], ImageDimensions(r)), GaussianMatrix(10)) for i in range(2)] return ImagePad(ImageTransformation(r, lambda coord: (coord[0]+15*ImageValue(ix, coord), coord[1]+15*ImageValue(iy, coord)), DataRange='Full'), -5) Thanks, Jason -- Don't let slow site performance ruin your business. Deploy New Relic APM Deploy New Relic app performance management and know exactly what is happening inside your Ruby, Python, PHP, Java, and .NET app Try New Relic at no cost today and get our sweet Data Nerd shirt too! http://p.sf.net/sfu/newrelic-dev2dev ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] XKCD style graphs?
On 10/4/12 9:11 AM, Michael Droettboom wrote: Yes -- this would be a great application for the path filtering infrastructure that matplotlib has. Is that the same as the path effects features, like http://matplotlib.org/examples/pylab_examples/patheffect_demo.html ? Thanks, Jason -- Don't let slow site performance ruin your business. Deploy New Relic APM Deploy New Relic app performance management and know exactly what is happening inside your Ruby, Python, PHP, Java, and .NET app Try New Relic at no cost today and get our sweet Data Nerd shirt too! http://p.sf.net/sfu/newrelic-dev2dev ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] who (F/OSS science) uses matplotlib?
On 6/3/12 6:41 PM, Kevin Hunter wrote: I'm especially interested in open source/science/ projects that use matplotlib. Sage (sagemath.org) uses matplotlib for nearly all its 2d graphics. Jason -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] FancyArrowPatch -| style doesn't have solid arrowhead when linestyle='dashed'
On 4/15/12 10:12 AM, Jae-Joon Lee wrote: Unfortunately, this is something that I haven't considered when implementing the FancyArrowPatch. As you may know, FancyArrowPatch is a single patch object (at least viewed from outside), so you cannot have multiple linestyles that can be set by users. So, one option is to change the implementation to use a hard-coded line style for arrow heads, but this is not straight forward in fact. That was my conclusion as well. Thanks for confirming. Another option is to use custom path effects. Attached is a modified version of your script with this approach. Although this makes your code more complicated, this could be the most straight forward way. Awesome. I've submitted a patch to Sage with your example (and credited you as an author): http://trac.sagemath.org/sage_trac/ticket/12852 Thanks, Jason -- Better than sec? Nothing is better than sec when it comes to monitoring Big Data applications. Try Boundary one-second resolution app monitoring today. Free. http://p.sf.net/sfu/Boundary-dev2dev ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] Question(s) for new MAC 10.7 User
On 2/21/12 9:24 AM, Lou Pecora wrote: To William Jennings. I would suggest you look at the SAGE python package (http://www.sagemath.org/). Like Enthought it's an all-in-one package. My package uses Python 2.6.4. Current versions may be higher. It has a LOT of stuff, but you don't need to use it all and can ignore it (lots on symbolic math, but if you don't need it just ignore it). It contains matplotlib, numpy, scipy and lots of other scientific packages. Lots of other stuff too, like IPython, ctypes, Cython, and a SAGE notebook (looks good, but I haven't messed much with it). Too much to list. IIRC it does not include wxPython, though. If you need that, you should check. I think you can install it (see below) Cost? It's free. I've compiled several versions of it on my Macs with no hitch, but I think you can just download Mac binary packages in a .zip file, decompress them, and put them in the Applications folder and you're ready to go. You can set up the sage env variable and point to the python in the SAGE application instead of the Mac one. You can install more in the SAGe package if you want. Just point to sage python instead of python in the install scripts. I've been using it for 1 1/2 years and have been very happy with it. It's a tour de force package of packages. Beats manual installs for my needs any day. Noticing the title says OSX 10.7---We are working on getting Sage to compile on 10.7. I believe you can download the 10.6 binaries and they work for 10.7, though. If you have any troubles, be sure to post to the sage-support mailing list: http://groups.google.com/group/sage-support?pli=1 or ask on ask.sagemath.org. Thanks, Jason -- Keep Your Developer Skills Current with LearnDevNow! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now! http://p.sf.net/sfu/learndevnow-d2d ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] How matplotlib got me a job
On 2/8/12 2:53 AM, Paul Ivanov wrote: Patrick Marsh, on 2012-02-07 13:58, wrote: As I continue to mature as a Python person, I want to give back explicitly to the community that's given so much to me. The problem is, I don't know how. I'm intimidated by the awesomeness of what I see being done around me that I don't even know where to begin. How does one even begin to learn how to understand the deep intricacies of MPL, Numpy, and Scipy so that I'd begin to develop a comfort level that would allow me to begin to actively contribute? I know pretty much everyone on these listservs, including myself, is busy. (I'm in the midst of a 30-day PhD General Exam, and probably shouldn't even be reading the listservs and/or typing this email! *wink*) But if there are those out there that are willing to take a little time and invest in me, and I'm sure there are others like me, I'd gladly become an active contributor instead of a lurker. One simple, minimally intimidating way to contribute is by making improvements to the documentation. Here's a relevant pitch I just made on the IPython lists about how easy, yet valuable such improvements can be. http://mail.scipy.org/pipermail/ipython-user/2012-February/009428.html Another would be to send the colleagues whom your helping here to these lists, that way any effort you put in to help them has a good chance of helping others, thanks to search engines and archives. Yet another would be to go through some the active issues on the tracker and trying to make a test for them. Yet another still would be to test the various active pull requests - and confirm that the fixes or new functionality they provide actually work - look through patches and ask questions - we have a lot PRs that get very few eyes or comments on them (Last [academic] year, I consciously made an effort to be more active on this list, and though I haven't pitched in as much lately, perhaps the rest of this year I should focus my efforts on incoming PRs) Another big way we've seen new people contribute to the Sage community is to answer questions on the ask.sagemath.org site. Scipy has a similar ask.scipy.org site, but it seems relatively quiet. Jason -- Keep Your Developer Skills Current with LearnDevNow! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now! http://p.sf.net/sfu/learndevnow-d2d ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] Partial coloring of text in matplotlib
On 2/7/12 2:47 PM, Michael Droettboom wrote: since this would never be full-fledged HTML anyway [1]. Famous last words, right? I'm curious: for the SVG backend, or a possible html5 canvas backend, can we already include html? I don't know, but I'm curious. Jason -- Keep Your Developer Skills Current with LearnDevNow! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now! http://p.sf.net/sfu/learndevnow-d2d ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] my pie charts gotta pop!
On 12/14/11 6:33 PM, Justin wrote: Any suggestions or places to find a gorgeous pie chart, let me know... I'd probably use Excel or OpenOffice if I were you. Jason -- 10 Tips for Better Server Consolidation Server virtualization is being driven by many needs. But none more important than the need to reduce IT complexity while improving strategic productivity. Learn More! http://www.accelacomm.com/jaw/sdnl/114/51507609/ ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
[Matplotlib-users] Line2D drawstyle
In the docs for Line2D, it says that the linestyle can be any drawstyle in combination with a linestyle, e.g. 'steps--'. However, this doesn't seem to work in practice. I believe I have matplotlib 1.0.1 here: In [2]: from matplotlib import lines In [3]: line=lines.Line2D([0,1,2],[0,1,4], linestyle='steps--') In [4]: line.get_drawstyle() Out[4]: 'default' In [5]: line.get_linestyle() Out[5]: '--' Note that if I specifically set the linestyle using set_linestyle, it appears to parse out the drawstyle: In [11]: line.set_linestyle('steps--') In [12]: line.get_drawstyle() Out[12]: 'steps' However, if I plot the line using the plot() command, the drawstyle is correctly set to 'steps'. In [6]: from matplotlib import pyplot In [7]: line2=pyplot.plot([0,1,2],[0,1,4], linestyle='steps--') In [8]: line2 Out[8]: [matplotlib.lines.Line2D object at 0x114fcb110] In [9]: line2[0].get_drawstyle() Out[9]: 'steps' In [10]: line2[0].get_linestyle() Out[10]: '--' Should Line2D parse out the drawstyle from the linestyle, or are the docs wrong about the Line2D linestyle parameters, or am I just misunderstanding something here? Thanks, Jason -- vRanger cuts backup time in half-while increasing security. With the market-leading solution for virtual backup and recovery, you get blazing-fast, flexible, and affordable data protection. Download your free trial now. http://p.sf.net/sfu/quest-d2dcopy1 ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] Boundary edges of a set of points
On 4/28/11 9:03 PM, gary ruben wrote: http://stackoverflow.com/questions/1920145/how-to-find-duplicate-elements-in-array-using-for-loop-in-python-like-c-c i.e. dups = [x for x in list_a if list_a.count(x) 1] That involves iterating through your list_a a number of times to look for elements. It probably would be much faster to use something like the Counter class to just get the items that occur once or more than once: http://docs.python.org/library/collections.html#counter-objects Thanks, Jason -- WhatsUp Gold - Download Free Network Management Software The most intuitive, comprehensive, and cost-effective network management toolset available today. Delivers lowest initial acquisition cost and overall TCO of any competing solution. http://p.sf.net/sfu/whatsupgold-sd ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
[Matplotlib-users] built docs contain .pyc files
I tried building the standalone html docs using: cd doc python make.py html I notice that there are around 30 .pyc files left in the build/html/pyplots/ directory. Are these needed in the html documentation build directory? Also, it seems that the files in _images are redundant, as they are referenced in their original directory, not _images. from the build/html directory: % find . -name multiline.pdf ./_images/multiline.pdf ./plot_directive/mpl_examples/pylab_examples/multiline.pdf % grep -ri multiline.pdf * examples/pylab_examples/multiline.html:p[a class=reference external href=../../plot_directive/mpl_examples/pylab_examples/multiline.pysource code/a, a class=reference external href=../../plot_directive/mpl_examples/pylab_examples/multiline.hires.pnghires.png/a, a class=reference external href=../../plot_directive/mpl_examples/pylab_examples/multiline.pdfpdf/a]/p Any comments about trimming down the size of the build/html directory? Thanks, Jason -- Free Software Download: Index, Search Analyze Logs and other IT data in Real-Time with Splunk. Collect, index and harness all the fast moving IT data generated by your applications, servers and devices whether physical, virtual or in the cloud. Deliver compliance at lower cost and gain new business insights. http://p.sf.net/sfu/splunk-dev2dev ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] Any update on streamline plot
On 2/11/11 3:06 PM, Ray Speth wrote: Hi, I wrote a script to generate streamline plots using matplotlib a while ago, and this post inspired me to finally clean it up a bit. The code is available at http://web.mit.edu/speth/Public/streamlines.py and you can see an example of its output at http://web.mit.edu/speth/Public/streamlines.png I'd be happy to have it find a home in matplotlib if it would be useful to other people there. Could you put a license statement on the file you posted? Even if it isn't included in matplotlib, I think we would love to include it in Sage. I've wanted to have streamline plots in Sage for a long time, and your plots look great! Thanks, Jason -- The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE: Pinpoint memory and threading errors before they happen. Find and fix more than 250 security defects in the development cycle. Locate bottlenecks in serial and parallel code that limit performance. http://p.sf.net/sfu/intel-dev2devfeb ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
[Matplotlib-users] latex ' (prime)
Observe the following image: import pylab pylab.plot([0,1],[1,2],label=$\sigma'_0$) pylab.legend() pylab.savefig('test.png') Notice that the \prime introduced by the single quote in the legend is not raised above the \sigma, like it would be in TeX (i.e., in TeX, $\sigma'_0$ is equivalent to $\sigma^\prime_0$, IIRC). Is this a design decision, or is it easy to fix? This is with matplotlib 1.0.0. Thanks, Jason -- Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)! Finally, a world-class log management solution at an even better price-free! Download using promo code Free_Logger_4_Dev2Dev. Offer expires February 28th, so secure your free ArcSight Logger TODAY! http://p.sf.net/sfu/arcsight-sfd2d ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] Is it possible to plot axes with arrows ?
On 2/2/11 8:51 AM, Francois Maltey wrote: Hello, I use matplolib by the mathematical system Sage in order to plot a function. The Sage code calls matplotlib and uses its options : The Sage command is plot (sin, x, -5, 5) I add labels par axes_labels or remove axes by : plot (sin(x), x, -5, 5, axes_label = ['x', 'y']) plot (sin(x), x, -5, 5, axes=false) French users (and maybe others) uses arrows and not lines for axes. I'm looking for a plot (sin(x), x, -5, 5, axes=arrows) Is there a pretty way to get these arrows. The result of this code isn't so fine. length, width and color don't match. plot (sin(x), x, -5, 5, axes=false) + arrow ((-5,0),(5,0)) + arrow ((0,-1),(0,1)) What options do you propose ? I've made a Sage ticket for this: http://trac.sagemath.org/sage_trac/ticket/10740 As a clumsy workaround, you could use the .matplotlib() method for Sage graphics objects to get the matplotlib figure object for the graphics object. Then you could: 1. figure out which spine was being used as the drawn axes 2. use that spine's transform to place an arrow at the end of the spine (using the example code that was just posted in another message to draw the arrow). 3. Draw the figure Thanks, Jason -- 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-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
[Matplotlib-users] latex ' (prime)
Observe the following image: import pylab pylab.plot([0,1],[1,2],label=$\sigma'_0$) pylab.legend() pylab.savefig('test.png') Notice that the \prime introduced by the single quote in the legend is not raised above the \sigma, like it would be in TeX (i.e., in TeX, $\sigma'_0$ is equivalent to $\sigma^\prime_0$, IIRC). Is this a design decision, or is it easy to fix? This is with matplotlib 1.0.0. Thanks, Jason -- Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)! Finally, a world-class log management solution at an even better price-free! Download using promo code Free_Logger_4_Dev2Dev. Offer expires February 28th, so secure your free ArcSight Logger TODAY! http://p.sf.net/sfu/arcsight-sfd2d ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] latex ' (prime)
On 2/1/11 11:40 AM, Darren Dale wrote: On Tue, Feb 1, 2011 at 12:29 PM, Jason Grout jason-s...@creativetrax.com wrote: Observe the following image: import pylab pylab.plot([0,1],[1,2],label=$\sigma'_0$) pylab.legend() pylab.savefig('test.png') Notice that the \prime introduced by the single quote in the legend is not raised above the \sigma, like it would be in TeX (i.e., in TeX, $\sigma'_0$ is equivalent to $\sigma^\prime_0$, IIRC). Is this a design decision, or is it easy to fix? Did you try: pylab.plot([0,1],[1,2],label=$\sigma^\prime_0$) Yes, both that and pylab.plot([0,1],[1,2],label=$\sigma^'_0$) work fine. So we know a (somewhat clumsy) workaround. Jason -- Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)! Finally, a world-class log management solution at an even better price-free! Download using promo code Free_Logger_4_Dev2Dev. Offer expires February 28th, so secure your free ArcSight Logger TODAY! http://p.sf.net/sfu/arcsight-sfd2d ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] Possible to get variable spacing between certain subplots?
On 10/28/10 1:18 PM, Will Grover wrote: Hello matplotlib-users, I'm using subplots to make an array of plots, but because some of the plots have wider y-axis tick labels than others, some of the subplots end up looking too close to each other. Here's an image that shows what I mean: http://web.mit.edu/wgrover/www/spacing.png I'm currently using pylab.subplots_adjust(hspace = __, vspace = __) to adjust the subplot spacing, but since that applies to all subplots, no one setting looks right for the entire array of plots. Is there any way to set the spacing so that the subplots *plus tick labels* are evenly distributed? Or can I manually specify the spacing between each subplot? Thanks, (to those more knowledgeable than me...) Is this something that ImageGrid would solve? http://matplotlib.sourceforge.net/mpl_toolkits/axes_grid/users/overview.html#axes-grid1 Also, could you use subplotpar to adjust spacing in each subplot? http://matplotlib.sourceforge.net/users/gridspec.html#adjust-gridspec-layout Thanks, Jason -- Lotusphere 2011 Register now for Lotusphere 2011 and learn how to connect the dots, take your collaborative environment to the next level, and enter the era of Social Business. http://p.sf.net/sfu/lotusphere-d2d ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
[Matplotlib-users] annotate arrow drawn slightly off
I've been trying to track down a problem in the arrows where the arrow seems to be off by a little bit. I've narrowed down the problem to a small example: import matplotlib.patches as mpatches import matplotlib.pyplot as plt fig=plt.figure() ax = fig.add_subplot(111, xlim=(.98,1.02), ylim=(.98,1.02),aspect='equal') from matplotlib.patheffects import Stroke ax.annotate('', (1,1), (0,0), arrowprops=dict(arrowstyle=-|, fc=w, ec=k,lw=30, path_effects=[Stroke(joinstyle='miter')]),) ax.plot([0,1],[1,1]) ax.plot([1,1],[0,1]) ax.plot([0,1.02],[0,1.02]) fig.savefig('test.png') I've used a miter join above because it illustrates the problem better. Notice that the arrowhead tip is just below the line, but should be right on the line. Any clue about what the problem is? Thanks, Jason -- Jason Grout -- The Next 800 Companies to Lead America's Growth: New Video Whitepaper David G. Thomson, author of the best-selling book Blueprint to a Billion shares his insights and actions to help propel your business during the next growth cycle. Listen Now! http://p.sf.net/sfu/SAP-dev2dev ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] annotate arrow drawn slightly off
On 11/9/10 9:21 AM, Benjamin Root wrote: I just tested out the patch, and while it did seem to fix the problem for me on the test script, I am not 100% certain that it is properly lined up (maybe an off-by-one-pixel error?). Anyway, I tried zooming in to see which kind of error it was and I got a very weird image. I am not certain exactly what triggers it, but I think if the rubber-banding does not incorporate the entire arrow-head, then the distortion appears. I was also able to reproduce the distortion without the patch (although I think it was easier to cause with the patch). If it looks like an off-by-one pixel error, make sure you are doing: import matplotlib matplotlib.rcParams['path.snap'] = False to turn off the pixel-snapping that happens with horizontal and vertical lines in png images, or make sure you are seeing the off-by-one in a vector graphic format like pdf. For me, saving a pdf with the slanted line a linewidth of .01 showed that the arrow is right on it now. I did notice one thing that did seem a little off, though. I see that the tip of the arrow just barely projects over the corner of the box. The arrow is supposed to go to (1,1), and the linewidth is 30, so I'm thinking that the miter join should project a long ways over the box (because the centers of the lines are at (1,1), and the line width is very large). If I change the path_effects argument to: path_effects=[Stroke(joinstyle='miter'),Stroke(linewidth=1,foreground='w',joinstyle='miter')] so that I see more clearly where the actual line center is, it appears that the line center is far off of (1,1). I guess at this point, I'm confused about how the arrow is supposed to be representing the segment between (0,0) and (1,1). Is the tip of the arrow (after the miter join) supposed to hit (1,1), or is the center of the line supposed to hit (1,1)? Or maybe the tip of the joinstyle='round' arrow (the default) is supposed to hit (1,1)? I noticed this bug when I was trying to figure out a way to have the actual drawn arrow end at a specific point (maybe using miter join, so that we had a sharp arrow) for Sage. It would be nice if there was some sort of option that would do the math to shorten the arrow by the necessary amount. Of course, if that's not an option, I could do that math myself in Sage's arrow wrapper command. Thanks, Jason -- The Next 800 Companies to Lead America's Growth: New Video Whitepaper David G. Thomson, author of the best-selling book Blueprint to a Billion shares his insights and actions to help propel your business during the next growth cycle. Listen Now! http://p.sf.net/sfu/SAP-dev2dev ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] annotate arrow drawn slightly off
On 11/9/10 8:44 PM, Jae-Joon Lee wrote: On Wed, Nov 10, 2010 at 1:01 AM, Jason Grout jason-s...@creativetrax.com wrote: Is the tip of the arrow (after the miter join) supposed to hit (1,1), or is the center of the line supposed to hit (1,1)? Or maybe the tip of the joinstyle='round' arrow (the default) is supposed to hit (1,1)? The tip of the arrow is meant to hit (1,1), which is done by the underlying arrow class adjusting the end point of the path during the drawing time. This only happens for arrowstyle - and etc. However, there was an incorrect arithmetic which I think is fixed now. The patch is attached (it also fixes dpi-related issues). I'm not sure it would be better if this could be optionally turned off. Any suggestion? Let me know of any (persisting or other) issues. Wow. You're amazing. Thanks for all the work you put into this right away! When I set shrinkB to zero, that arrow is right on the money. FYI, path is shortened by small amount by default. This is controlled by *shrink* parameter (shrinkA and shrinkB shortens the line begin and the line end respectively.) Right. In Sage, we're using the shrinkA and shrinkB options quite a bit. For example, we use it in drawing vertex-and-edge graphs (so the arrows go to the edges of the vertex circles), and right now we use it by default to shrink by the linewidth (though I think I'm going to turn off Sage's default shrinking and just leave that up to the user). This latest patch seems to take care of the problems I was seeing. Thanks again! Jason -- Jason Grout -- The Next 800 Companies to Lead America's Growth: New Video Whitepaper David G. Thomson, author of the best-selling book Blueprint to a Billion shares his insights and actions to help propel your business during the next growth cycle. Listen Now! http://p.sf.net/sfu/SAP-dev2dev ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
[Matplotlib-users] fontList.cache not being updated
I'm working on updating matplotlib in Sage to 1.0. We're running into a problem where it seems that the fontList.cache is not being updated. I've included an example session below. The .matplotlib directory is accessible here: http://sage.math.washington.edu/home/jason/.matplotlib/ The problem seems to be that it is looking for a file that does not exist: [ja...@sage:/scratch/jason/sage-4.6.alpha2]$ ls /scratch/grout/sage-4.5.3/local/lib/python2.6/site-packages/matplotlib/mpl-data/fonts/ttf/Vera.ttf ls: cannot access /scratch/grout/sage-4.5.3/local/lib/python2.6/site-packages/matplotlib/mpl-data/fonts/ttf/Vera.ttf: No such file or directory Does anyone have any idea what is going on? Why is the fontList.cache file not being updated, instead of trying to access a path that doesn't exist? A related question is: I see the variable USE_FONTCONFIG in font_manager.py. It says it is experimental. How stable is that code? It's tempting to switch to using fontconfig. Thanks, Jason Here is my example session: In [1]: from pylab import * In [2]: text(0.5, 0.5, 'text 0') Out[2]: matplotlib.text.Text object at 0x18e7b50 In [3]: savefig('test.png') ERROR: An unexpected error occurred while tokenizing input The following traceback may be corrupted or invalid The error message is: ('EOF in multi-line statement', (532, 0)) ERROR: An unexpected error occurred while tokenizing input The following traceback may be corrupted or invalid The error message is: ('EOF in multi-line statement', (643, 0)) ERROR: An unexpected error occurred while tokenizing input The following traceback may be corrupted or invalid The error message is: ('EOF in multi-line statement', (10, 0)) --- RuntimeError Traceback (most recent call last) /mnt/usb1/scratch/jason/sage-4.6.alpha2/ipython console in module() /mnt/usb1/scratch/jason/sage-4.6.alpha2/local/lib/python2.6/site-packages/matplotlib/pyplot.pyc in savefig(*args, **kwargs) 361 def savefig(*args, **kwargs): 362 fig = gcf() -- 363 return fig.savefig(*args, **kwargs) 364 365 @docstring.copy_dedent(Figure.ginput) /mnt/usb1/scratch/jason/sage-4.6.alpha2/local/lib/python2.6/site-packages/matplotlib/figure.pyc in savefig(self, *args, **kwargs) 1082 kwargs.setdefault('edgecolor', rcParams['savefig.edgecolor']) 1083 - 1084 self.canvas.print_figure(*args, **kwargs) 1085 1086 if transparent: /mnt/usb1/scratch/jason/sage-4.6.alpha2/local/lib/python2.6/site-packages/matplotlib/backend_bases.pyc in print_figure(self, filename, dpi, facecolor, edgecolor, orientation, format, **kwargs) 1884 orientation=orientation, 1885 bbox_inches_restore=_bbox_inches_restore, - 1886 **kwargs) 1887 finally: 1888 if bbox_inches and restore_bbox: /mnt/usb1/scratch/jason/sage-4.6.alpha2/local/lib/python2.6/site-packages/matplotlib/backends/backend_agg.pyc in print_png(self, filename_or_obj, *args, **kwargs) 436 437 def print_png(self, filename_or_obj, *args, **kwargs): -- 438 FigureCanvasAgg.draw(self) 439 renderer = self.get_renderer() 440 original_dpi = renderer.dpi /mnt/usb1/scratch/jason/sage-4.6.alpha2/local/lib/python2.6/site-packages/matplotlib/backends/backend_agg.pyc in draw(self) 392 393 self.renderer = self.get_renderer() -- 394 self.figure.draw(self.renderer) 395 396 def get_renderer(self): /mnt/usb1/scratch/jason/sage-4.6.alpha2/local/lib/python2.6/site-packages/matplotlib/artist.pyc in draw_wrapper(artist, renderer, *args, **kwargs) 53 def draw_wrapper(artist, renderer, *args, **kwargs): 54 before(artist, renderer) --- 55 draw(artist, renderer, *args, **kwargs) 56 after(artist, renderer) 57 /mnt/usb1/scratch/jason/sage-4.6.alpha2/local/lib/python2.6/site-packages/matplotlib/figure.pyc in draw(self, renderer) 796 dsu.sort(key=itemgetter(0)) 797 for zorder, func, args in dsu: -- 798 func(*args) 799 800 renderer.close_group('figure') /mnt/usb1/scratch/jason/sage-4.6.alpha2/local/lib/python2.6/site-packages/matplotlib/artist.pyc in draw_wrapper(artist, renderer, *args, **kwargs) 53 def draw_wrapper(artist, renderer, *args, **kwargs): 54 before(artist, renderer) --- 55 draw(artist, renderer, *args, **kwargs) 56 after(artist, renderer) 57 /mnt/usb1/scratch/jason/sage-4.6.alpha2/local/lib/python2.6/site-packages/matplotlib/axes.pyc in draw(self, renderer, inframe) 1932 1933 for zorder, a in dsu: - 1934 a.draw(renderer) 1935 1936 renderer.close_group('axes')
Re: [Matplotlib-users] fontList.cache not being updated
On 10/01/2010 10:40 AM, Michael Droettboom wrote: On 10/01/2010 11:31 AM, Jason Grout wrote: I'm working on updating matplotlib in Sage to 1.0. We're running into a problem where it seems that the fontList.cache is not being updated. I've included an example session below. The .matplotlib directory is accessible here: http://sage.math.washington.edu/home/jason/.matplotlib/ The problem seems to be that it is looking for a file that does not exist: [ja...@sage:/scratch/jason/sage-4.6.alpha2]$ ls /scratch/grout/sage-4.5.3/local/lib/python2.6/site-packages/matplotlib/mpl-data/fonts/ttf/Vera.ttf ls: cannot access /scratch/grout/sage-4.5.3/local/lib/python2.6/site-packages/matplotlib/mpl-data/fonts/ttf/Vera.ttf: No such file or directory Does anyone have any idea what is going on? Why is the fontList.cache file not being updated, instead of trying to access a path that doesn't exist? There is a fix in SVN for this, but it has not yet been released. When a font file is not found, it rebuilds the entire font cache on the spot. Thanks. Do you know the commit? We'll apply it to the Sage matplotlib package. A related question is: I see the variable USE_FONTCONFIG in font_manager.py. It says it is experimental. How stable is that code? It's tempting to switch to using fontconfig. I use it as a matter of course on my Linux box and haven't had any issues. It's experimental because it's the kind of thing that is so affected by external environmental issues and distro differences. Just because it works for me, there's no guarantee it will work everywhere. But go ahead and give it a try and report back with the distro you're using. Well, with Sage, we're using it on a number of distros, flavors of OSX, Solaris, etc. So maybe I'll stick with the home-grown caching solution. At least until we've tested it a bit on different support platforms for Sage. I thought there was some sort of build bot for matplotlib that tested on a number of platforms. Do you know how the fontconfig stuff does on that (if it exists...). Thanks, Jason -- Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] Order of 3d Plots
On 9/22/10 2:55 PM, Lütteke Felix wrote: Hello, is there a possibility to order several 3dplots, if all are plotted in the same figure. If I execute the code below, the higher values (blue) are covered by the lower (yellow) ones, which seems quite unlogical to me (see attached image). Any help if greatly appreciated - after having searched for a solution quite a few hours... There is no cutting up of objects and ordering them based on distance to the viewer, if that's what you're asking. I see an experiment on github that starts to implement that sort of thing, though: http://github.com/astraw/matplotlib/network/members Thanks, Jason -- Nokia and ATT present the 2010 Calling All Innovators-North America contest Create new apps games for the Nokia N8 for consumers in U.S. and Canada $10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store http://p.sf.net/sfu/nokia-dev2dev ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] citation of mpl
On 09/22/2010 08:59 AM, John Hunter wrote: On Wed, Sep 22, 2010 at 8:45 AM, Bala subramanian bala.biophys...@gmail.com wrote: Friends, I have mentioned in my research manuscript that plots were generated by 'matplotlib package'. I dnt find the related reference of mpl. Kindly tell me how can i site mpl. You can certainly reference the website, but if you want to refer to a published paper, I suggest Matplotlib: A 2D Graphics Environment Source: Computing in Science and Engineering archive Volume 9 , Issue 3 (May 2007) Pages: 90-95 Year of Publication: 2007 ISSN:1521-9615 Author:John D. Hunter Publisher : IEEE Educational Activities Department Piscataway, NJ, USA and/or the conference abstract at http://adsabs.harvard.edu/abs/2005ASPC..347...91B Could this be put up on the website somewhere in a easily-found place? Maybe a short sentence and link in the bar on the right under Other stuff? Something like To cite matplotlib in a paper, use a href='link to wiki page with that citation, preferably in several formats like bibtex' this reference/a. or something. Thanks, Jason -- Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] Level surface of a function of 3 variables
On 9/17/10 9:08 PM, Fernando Perez wrote: Hi Luke, On Fri, Sep 17, 2010 at 5:49 PM, Dale Lukas Peterson hazelnu...@gmail.com wrote: I'm not sure I understand how I would make use of my function then. My function needs to be evaluated over a 3-d mesh (x, y, and z) , and then the level surfaces (not contour lines) calculated. I guess I could treat z as a parameter, then plot the zero level contour lines of my function for a discrete number of z values, but then I would need to adjust the height that each countour line is plotted at when I do the 3-d plot. This still would only give bunch of vertically stacked contour lines, rather than a nice smooth 3-d surface. If I'm misunderstanding what you meant, perhaps you could point me to an example of something that makes a level surface of a function of 3 (not 2) variables? You're looking for an isosurface; as far as I know matplotlib does not have isosurface modules, only 2-d contours embedded in 3d (such as those illustrated in http://matplotlib.sourceforge.net/examples/mplot3d/contourf3d_demo.html). VTK does have powerful isosurface capabilities, nicely exposed by mayavi: http://code.enthought.com/projects/mayavi/docs/development/html/mayavi/auto/mlab_helper_functions.html#contour3d Sage will also do this sort of thing, though it's not as powerful as VTK/Mayavi in this functionality: http://www.sagemath.org/doc/reference/sage/plot/plot3d/implicit_plot3d.html Here are lots of sheets on sagenb.org that use implicit_plot3d somewhere: http://sagenb.org/pub/?typ=pubsearch=implicit_plot3d Thanks, Jason -- Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] plotting an arrow outside of the plot does not work any more
On 8/28/10 3:59 PM, Stan Schymanski wrote: Hi JJ, Thanks for the advice. However, the annotation_clip=False addition does not make a difference to me. I am using Matplotlib from within Sage, though; not sure if this makes it behave differently. FYI, matplotlib in Sage is still at matplotlib 0.99.3. We're working on upgrading it to 1.0.0. Stan, if you want, could you try installing the 1.0.0 Sage matplotlib spkg and seeing if that works? You can do it by doing: sage -i http://sage.math.washington.edu/home/jason/matplotlib-1.0.0.spkg (the ticket is http://trac.sagemath.org/sage_trac/ticket/9221 ) Matplotlib 1.0.0 changes how axes labels work, so if you want to do axes labels, then you'll have to also install the patch listed at the ticket. Thanks, Jason -- Sell apps to millions through the Intel(R) Atom(Tm) Developer Program Be part of this innovative community and reach millions of netbook users worldwide. Take advantage of special opportunities to increase revenue and speed time-to-market. Join now, and jumpstart your future. http://p.sf.net/sfu/intel-atom-d2d ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] spline smart bounds
On 8/16/10 5:36 AM, Michael Droettboom wrote: For clarification: this change is related to spines not splines. Spines are the feature that allows the axes ticks to be plotted somewhere in the middle of the plot, rather than always at the edges. See here: http://matplotlib.sourceforge.net/examples/pylab_examples/spine_placement_demo.html?highlight=spine%20codex Splines would refer to Bezier curves. See here: http://matplotlib.sourceforge.net/examples/pylab_examples/dolphin.html?highlight=dolphin%20codex Which feature are you interested in? That said, I'm not sure what the spine smart bounds work is about, but I suspect Andrew Straw does. Sorry, I mistyped that: I meant spines. We use spines to do the axes in Sage, and in updating the matplotlib package, I was wondering if we could take advantage of the smart bound feature. It certainly sounded interesting. Thanks, Jason -- Jason Grout -- This SF.net email is sponsored by Make an app they can't live without Enter the BlackBerry Developer Challenge http://p.sf.net/sfu/RIM-dev2dev ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
[Matplotlib-users] spline smart bounds
Hi all, First: I noticed in the changelog to 1.0 that a lot of work has gone into splines. Thanks! In particular, I notice commit message splines and ticks: implement smart bounds from 20 Dec 2009 (commit 58d31c10eef8648cd0fb81d5c0f0bcd0c05fe9a1 in astraw's github repository, labeled as git-svn-id: https://matplotlib.svn.sourceforge.net/svnroot/matplotlib/trunk/matplot...@8048 f61c4167-ca0d-0410-bb4a-bb21726e55ed). What are smart bounds? It looks desirable to do, but it defaults to off, I think. Thanks, Jason -- This SF.net email is sponsored by Make an app they can't live without Enter the BlackBerry Developer Challenge http://p.sf.net/sfu/RIM-dev2dev ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] ANN: matplotlib 1.0.0
On 7/6/10 2:11 PM, John Hunter wrote: matplotlib 1.0.0 is available for download at https://sourceforge.net/projects/matplotlib/files/matplotlib/matplotlib-1.0/ You can read this announcement with links and rendered figures at http://matplotlib.sourceforge.net/users/whats_new.html This page just covers the highlights -- for the full story, see the CHANGELOG below. A big thanks to all the developers who made this release possible. Some of the contributions are highlighted below, but a particular thanks to Eric Firing for new features and a heroic effort closing and fixing bugs, Jae-Joon Lee for continuing to amaze us with the things he can make matplotlib do (see gridspec below), Michael Droettboom for his tireless work tracking down bugs no one else can figure out, Christoph Gohlke for the Windows binaries, Russell Owens for the O X binaries, and Benjamin Root and Michiel de Hoon for many bug fixes and new features. What's new in matplotlib 1.0 HTML5/Canvas backend: Simon Ratcliffe and Ludwig Schwardt have released an HTML5/Canvas (http://code.google.com/p/mplh5canvas) backend for matplotlib. The backend is almost feature complete, and they have done a lot of work comparing their html5 rendered images with our core renderer Agg. The backend features client/server interactive navigation of matplotlib figures in an html5 compliant browser. Wow, this is great news! Thanks to everyone that has worked on this! I tried to find the html5/canvas backend in the 1.0.0 tarball. Is it included in matplotlib? The heading What's new *in* matplotlib 1.0 makes it seem like I should find the files in the matplotlib distribution, but I can't seem to find the code that I see up on the code.google.com site. Thanks, Jason -- This SF.net email is sponsored by Sprint What will you do first with EVO, the first 4G phone? Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] Interact with matplotlib in Sage
Gökhan Sever wrote: Hello, I have thought of this might interesting to share. Register at www.sagenb.org or try on your local Sage-notebook and using the following code: A related example that lets you get the actual matplotlib figure from a Sage graphic and play with it is here: http://sagenb.org/home/pub/1413/ The thing we'd like to do now is be able to wrap matplotlib axes with Sage Graphics objects (so someone can construct a matplotlib object and then wrap it in a Sage Graphics instance to then do further stuff with it in Sage). However, I think we need to resolve the issues involving taking the axes from one figure and adding them to another figure; these issues were brought up on the mailing list a while ago. Thanks, Jason -- Jason Grout jason.gr...@drake.edu -- The Planet: dedicated and managed hosting, cloud storage, colocation Stay online with enterprise data centers and the best network in the business Choose flexible plans and management services without long-term contracts Personal 24x7 support from experience hosting pros just a phone call away. http://p.sf.net/sfu/theplanet-com ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] Venn diagrams
Ian Harry wrote: Hi all, Is there any simple way in matplotlib, or in any other python library, to make a simple Venn diagram, I want to show three events and their intersections? I have tried googling for any hints but didn't find anything. You can use Sage (http://www.sagemath.org or http://sagenb.org) http://wiki.sagemath.org/interact/misc#AnInteractiveVennDiagram (scroll down to see the picture; email me off-list if you'd like help in setting up an account or installing Sage; you can use Sage as a python library). Even if you don't use Sage and something like the interactive Venn diagram listed in the URL gives you relevant code for creating such a thing in matplotlib. Sage uses matplotlib in the background to actually draw the Venn diagram. Thanks, Jason -- Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA -OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise -Strategies to boost innovation and cut costs with open source participation -Receive a $600 discount off the registration fee with the source code: SFAD http://p.sf.net/sfu/XcvMzF8H ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
[Matplotlib-users] Arrows using Line2D and shortening lines
I'm trying to get some pretty arrows for graphs and other uses in Sage. One of the problems we've been having with the FancyArrow and YAArrow is that the arrow is skewed when the aspect ratio is not 1:1 and it is scaled along with the plot. I've written the attached ArrowLine class which basically modifies the marker drawing code to draw an arrowhead at the end of a Line2D. It doesn't suffer either of these problems; it works beautifully. However, in drawing (vertex and line) graphs, we have another problem. The vertices of the graph are drawn using scatterplot, and I know the corresponding vertex size (in whatever units scatterplot uses). I'd like to draw an arrow between the boundaries of the vertices. Is there a way to shorten a line that originally goes between the centers of two circles so that the line instead goes between the two boundaries of the circles? Note that clipping the line isn't an option since I want to keep the arrowhead on the line instead of clipping it off. I presume this shortening will have to be done in the drawing routine since it needs to be independent of zooming since the circles are drawn the same independent of zooming. Another related issue is that width of the path used to draw the arrowhead makes the arrow tip go beyond the endpoint; is there a way to shorten a line by a certain number of points so that we can account for that? Also, in drawing the arrowhead, the line pokes through the arrowhead; I'd like to shorten the shaft to the beginning of the arrowhead. I think all three of these shortening questions are similar; I'd like to shorten an arrow in a scale-independent way (i.e., by a certain number of points or something). The code I have for the ArrowLine class is below. If people are interested, I could (eventually, as I have time) incorporate this functionality into the Line2D class (i.e., putting arrowheads on the ends of lines). r A matplotlib subclass to draw an arrowhead on a line. AUTHORS: -- Jason Grout (2008-08-19): initial version # Copyright (C) 2008 Jason Grout [EMAIL PROTECTED] # Released under the terms of the modified BSD License import matplotlib from matplotlib.path import Path from matplotlib.lines import Line2D import math import matplotlib.cbook class ArrowLine(Line2D): A matplotlib subclass to draw an arrowhead on a line. EXAMPLE: sage: import pylab sage: fig = pylab.figure() sage: ax = fig.add_subplot(111, autoscale_on=False) sage: t = [-1,2] sage: s = [0,-1] sage: line = ArrowLine(t, s, color='b', ls='-', lw=2, arrow='', arrowsize=20) sage: ax.add_line(line) sage: ax.set_xlim(-3,3) (-3, 3) sage: ax.set_ylim(-3,3) (-3, 3) sage: pylab.show() arrows = {'' : '_draw_triangle_arrow'} def __init__(self, *args, **kwargs): Initialize the line and arrow. self._arrow = kwargs.pop('arrow', None) self._arrowsize = kwargs.pop('arrowsize', 2*4) self._arrowedgecolor = kwargs.pop('arrowedgecolor', 'b') self._arrowfacecolor = kwargs.pop('arrowfacecolor', 'b') self._arrowedgewidth = kwargs.pop('arrowedgewidth', 4) self._arrowheadwidth = kwargs.pop('arrowheadwidth', self._arrowsize) self._arrowheadlength = kwargs.pop('arrowheadlength', self._arrowsize) Line2D.__init__(self, *args, **kwargs) def draw(self, renderer): Draw the line and arrowhead using the passed renderer. if self._invalid: self.recache() renderer.open_group('arrowline2d') if not self._visible: return Line2D.draw(self, renderer) if self._arrow is not None: gc = renderer.new_gc() self._set_gc_clip(gc) gc.set_foreground(self._arrowedgecolor) gc.set_linewidth(self._arrowedgewidth) gc.set_alpha(self._alpha) funcname = self.arrows.get(self._arrow, '_draw_nothing') if funcname != '_draw_nothing': tpath, affine = self._transformed_path.get_transformed_points_and_affine() arrowFunc = getattr(self, funcname) arrowFunc(renderer, gc, tpath, affine.frozen()) renderer.close_group('arrowline2d') _arrow_path = Path([[0.0, 0.0], [-1.0, 1.0], [-1.0, -1.0], [0.0, 0.0]], codes=[Path.MOVETO, Path.LINETO,Path.LINETO, Path.CLOSEPOLY]) def _draw_triangle_arrow(self, renderer, gc, path, path_trans): Draw a triangular arrow. segment = [i[0] for i in path.iter_segments()][-2:] startx,starty = path_trans.transform_point(segment[0]) endx,endy = path_trans.transform_point(segment[1]) angle = math.atan2(endy-starty, endx
Re: [Matplotlib-users] Arrows using Line2D and shortening lines
Jae-Joon Lee wrote: Hi Jason, I did made a similar class sometime ago and I'm attaching it just in case. I guess it is very similar to yours but I rely on matplolib.patches.FancyArrow class to draw the arrow head. The circle drawn by scatter() command should be a circle with size s (the third argument of the scatter command) in points . It seems that it is implemented as a unit circle centered at (0,0) with a transform corresponding to the size s (and offset). So you may try something like below to calculate the size of the circle in data coord. ax = gca() p = scatter([0],[0], 500.) tr = p.get_transforms()[0] + ax.transData.inverted() x1, y1 = tr.transform_point([0,0]) x2, y2 = tr.transform_point([1,0]) r = abs(x2 - x1) p is a collection object and p.get_transforms() is a list of transforms. Note that a circle in the canvas coordinate(?) can be an ellipse in data coordinates. So, I guess you'd better do things in the canvas coordinates. For shortening your path, if you're only concerned with a straight line, it should be straight forward. But I guess it would a bit tricky to do this for general bezier curves (as in the example that Alan linked). I think (but I may be wrong) there is no universal algorithm to find the all intersecting points of two bezier curves. There may be one for between a bezier curve and a circle. And in this case where one point is inside the circle and the other is outside, one simple way I can think of is to recursively bisect the bezier curve (similar to the bisect root finding). Jae-Joon, Thank you very much. I am just finishing implementing a working version of what I wanted in my ArrowLine class; it now shortens itself by a certain number of points (assuming a line, just using a scale transformation). However, I use paths for drawing the arrowhead where you use patches. I think I like the flexibility your approach offers. Do you mind if I include your code in the GPL-licensed Sage, and extend it to do this shortening thing that I need? I still haven't decided which is ultimately better for what I need (my class or your class), but if you're willing to license your class in a compatible way, that provides a choice. Thanks, Jason - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100url=/ ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users