SourceForge logo
SourceForge logo
Menu

matplotlib-users — Discussion related to using matplotlib

You can subscribe to this list here.

2003 Jan
Feb
Mar
Apr
May
(3)
Jun
Jul
Aug
(12)
Sep
(12)
Oct
(56)
Nov
(65)
Dec
(37)
2004 Jan
(59)
Feb
(78)
Mar
(153)
Apr
(205)
May
(184)
Jun
(123)
Jul
(171)
Aug
(156)
Sep
(190)
Oct
(120)
Nov
(154)
Dec
(223)
2005 Jan
(184)
Feb
(267)
Mar
(214)
Apr
(286)
May
(320)
Jun
(299)
Jul
(348)
Aug
(283)
Sep
(355)
Oct
(293)
Nov
(232)
Dec
(203)
2006 Jan
(352)
Feb
(358)
Mar
(403)
Apr
(313)
May
(165)
Jun
(281)
Jul
(316)
Aug
(228)
Sep
(279)
Oct
(243)
Nov
(315)
Dec
(345)
2007 Jan
(260)
Feb
(323)
Mar
(340)
Apr
(319)
May
(290)
Jun
(296)
Jul
(221)
Aug
(292)
Sep
(242)
Oct
(248)
Nov
(242)
Dec
(332)
2008 Jan
(312)
Feb
(359)
Mar
(454)
Apr
(287)
May
(340)
Jun
(450)
Jul
(403)
Aug
(324)
Sep
(349)
Oct
(385)
Nov
(363)
Dec
(437)
2009 Jan
(500)
Feb
(301)
Mar
(409)
Apr
(486)
May
(545)
Jun
(391)
Jul
(518)
Aug
(497)
Sep
(492)
Oct
(429)
Nov
(357)
Dec
(310)
2010 Jan
(371)
Feb
(657)
Mar
(519)
Apr
(432)
May
(312)
Jun
(416)
Jul
(477)
Aug
(386)
Sep
(419)
Oct
(435)
Nov
(320)
Dec
(202)
2011 Jan
(321)
Feb
(413)
Mar
(299)
Apr
(215)
May
(284)
Jun
(203)
Jul
(207)
Aug
(314)
Sep
(321)
Oct
(259)
Nov
(347)
Dec
(209)
2012 Jan
(322)
Feb
(414)
Mar
(377)
Apr
(179)
May
(173)
Jun
(234)
Jul
(295)
Aug
(239)
Sep
(276)
Oct
(355)
Nov
(144)
Dec
(108)
2013 Jan
(170)
Feb
(89)
Mar
(204)
Apr
(133)
May
(142)
Jun
(89)
Jul
(160)
Aug
(180)
Sep
(69)
Oct
(136)
Nov
(83)
Dec
(32)
2014 Jan
(71)
Feb
(90)
Mar
(161)
Apr
(117)
May
(78)
Jun
(94)
Jul
(60)
Aug
(83)
Sep
(102)
Oct
(132)
Nov
(154)
Dec
(96)
2015 Jan
(45)
Feb
(138)
Mar
(176)
Apr
(132)
May
(119)
Jun
(124)
Jul
(77)
Aug
(31)
Sep
(34)
Oct
(22)
Nov
(23)
Dec
(9)
2016 Jan
(26)
Feb
(17)
Mar
(10)
Apr
(8)
May
(4)
Jun
(8)
Jul
(6)
Aug
(5)
Sep
(9)
Oct
(4)
Nov
Dec
2017 Jan
(5)
Feb
(7)
Mar
(1)
Apr
(5)
May
Jun
(3)
Jul
(6)
Aug
(1)
Sep
Oct
(2)
Nov
(1)
Dec
2018 Jan
Feb
Mar
Apr
(1)
May
Jun
Jul
Aug
Sep
Oct
Nov
Dec
2020 Jan
Feb
Mar
Apr
May
(1)
Jun
Jul
Aug
Sep
Oct
Nov
Dec
2025 Jan
(1)
Feb
Mar
Apr
May
Jun
Jul
Aug
Sep
Oct
Nov
Dec
S M T W T F S
1
(2)
2
(3)
3
(14)
4
(11)
5
(10)
6
(7)
7
8
(3)
9
(16)
10
(9)
11
(12)
12
(1)
13
(14)
14
(10)
15
16
(1)
17
(7)
18
(9)
19
(7)
20
(10)
21
22
(1)
23
24
(1)
25
(5)
26
(7)
27
(1)
28
29
(2)
30
(2)
31
(11)




Showing 12 results of 12

From: Ryan N. <rne...@gm...> - 2015年03月11日 22:43:53
Sometimes a simple text file really does the trick... However, you might
consider saving yourself some future pain by learning some non-text based
storage formats. In the past, I used text files all the time, and they
quickly became limiting, as you've noticed.
I personally like HDF files. There are libraries for these files on all OSs
using many programming languages. Python has at least two: PyTables and
h5py. I've personally used PyTables and find it very user-friendly. Pandas
also has capabilities for interacting with HDF files (via PyTables).
If you are only going to be using Numpy, there are also binary formats such
as .npy, .npz, and memmaps. See `numpy.save`, `numpy.savez`, and
`numpy.memmap`. I don't have much experience here, so I can't say much on
these formats...
Good luck.
Ryan
On Wed, Mar 11, 2015 at 5:15 PM, Benjamin Root <ben...@ou...> wrote:
> What 3D array? There shouldn't be any 3D arrays. I suspect that x_t is
> only accidentally 3d by having a shape like (N, M, 1) or (1, N, M).
>
> Ben Root
>
> On Wed, Mar 11, 2015 at 5:05 PM, Prahas David Nafissian <
> pra...@gm...> wrote:
>
>> Hello,
>>
>> Solved the write issue.
>>
>> I tried numpy savetxt but it chokes on 3D arrays.
>>
>> So I'm doing this:
>>
>> x_t.tofile('test3.txt',sep=" ",format="%f")
>>
>> Only issue -- no end-of-lines. But I can write a quick
>> Pascal program to fix this...
>>
>> Once again, thanks!
>>
>>
>> ------------------------------------------------------------------------------
>> Dive into the World of Parallel Programming The Go Parallel Website,
>> sponsored
>> by Intel and developed in partnership with Slashdot Media, is your hub
>> for all
>> things parallel software development, from weekly thought leadership
>> blogs to
>> news, videos, case studies, tutorials and more. Take a look and join the
>> conversation now. http://goparallel.sourceforge.net/
>> _______________________________________________
>> Matplotlib-users mailing list
>> Mat...@li...
>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>>
>
>
>
> ------------------------------------------------------------------------------
> Dive into the World of Parallel Programming The Go Parallel Website,
> sponsored
> by Intel and developed in partnership with Slashdot Media, is your hub for
> all
> things parallel software development, from weekly thought leadership blogs
> to
> news, videos, case studies, tutorials and more. Take a look and join the
> conversation now. http://goparallel.sourceforge.net/
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>
>
From: Benjamin R. <ben...@ou...> - 2015年03月11日 21:16:14
What 3D array? There shouldn't be any 3D arrays. I suspect that x_t is only
accidentally 3d by having a shape like (N, M, 1) or (1, N, M).
Ben Root
On Wed, Mar 11, 2015 at 5:05 PM, Prahas David Nafissian <
pra...@gm...> wrote:
> Hello,
>
> Solved the write issue.
>
> I tried numpy savetxt but it chokes on 3D arrays.
>
> So I'm doing this:
>
> x_t.tofile('test3.txt',sep=" ",format="%f")
>
> Only issue -- no end-of-lines. But I can write a quick
> Pascal program to fix this...
>
> Once again, thanks!
>
>
> ------------------------------------------------------------------------------
> Dive into the World of Parallel Programming The Go Parallel Website,
> sponsored
> by Intel and developed in partnership with Slashdot Media, is your hub for
> all
> things parallel software development, from weekly thought leadership blogs
> to
> news, videos, case studies, tutorials and more. Take a look and join the
> conversation now. http://goparallel.sourceforge.net/
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>
From: Prahas D. N. <pra...@gm...> - 2015年03月11日 21:05:14
Hello,
Solved the write issue.
I tried numpy savetxt but it chokes on 3D arrays.
So I'm doing this:
x_t.tofile('test3.txt',sep=" ",format="%f")
Only issue -- no end-of-lines. But I can write a quick
Pascal program to fix this...
Once again, thanks!
From: Sterling S. <sm...@fu...> - 2015年03月11日 16:55:40
Prahas,
If I read it correctly, it looks like all of your x,y,z values are stored in x_t (and computed before plotting). See http://docs.scipy.org/doc/numpy/reference/generated/numpy.savetxt.html
to output these to a file, if so desired.
-Sterling
On Mar 11, 2015, at 8:07AM, Prahas David Nafissian <pra...@gm...> wrote:
> Hi,
> 
> Given the Lorenz code shared yesterday, is there a way
> to generate a log file of the x,y,z points generated?
> 
> Thanks in advance.
> 
> --Prahas
> 
> In case you deleted the code:
> 
> 
> import numpy as np
> from scipy import integrate
> 
> from matplotlib import pyplot as plt
> from mpl_toolkits.mplot3d import Axes3D
> from matplotlib.colors import cnames
> from matplotlib import animation
> 
> # orig value of N_traj was 20 -- very cool this way.
> 
> N_trajectories = 1
> 
> def lorentz_deriv((x, y, z), t0, sigma=10., beta=8./3, rho=28.0):
> """Compute the time-derivative of a Lorentz system."""
> return [sigma * (y - x), x * (rho - z) - y, x * y - beta * z]
> 
> # Choose random starting points, uniformly distributed from -15 to 15
> 
> np.random.seed(1)
> 
> # changing from -15,30 to 10,5 below starts the drawing in the middle,
> # rather than getting the long line from below....
> # if using N_Traj > 1, return to orig values.
> 
> # x0 = -15 + 30 * np.random.random((N_trajectories, 3))
> 
> x0 = 10 + 5 * np.random.random((N_trajectories, 3))
> 
> 
> # Solve for the trajectories
> 
> # orig values: 0,4,1000
> # 3rd value -- lower it, it gets choppier.
> # 2nd value -- increase it -- more points, but speedier.
> 
> # change middle num from 4 to 15 -- this adds points!!!!!!!!
> 
> t = np.linspace(0, 40, 3000)
> x_t = np.asarray([integrate.odeint(lorentz_deriv, x0i, t)
> for x0i in x0])
> 
> # Set up figure & 3D axis for animation
> fig = plt.figure()
> ax = fig.add_axes([0, 0, 1, 1], projection='3d')
> 
> # changing off to on below adds axises. slows it down but you
> # can fix that with interval value in the animation call
> 
> ax.axis('on')
> 
> # choose a different color for each trajectory
> colors = plt.cm.jet(np.linspace(0, 1, N_trajectories))
> 
> # set up lines and points -- this is a correction from
> # the orig jake code. the next four lines...
> 
> lines = [ax.plot([], [], [], '-', c=c)[0]
> for c in colors]
> pts = [ax.plot([], [], [], 'o', c=c)[0]
> for c in colors]
> 
> # prepare the axes limits
> ax.set_xlim((-25, 25))
> ax.set_ylim((-35, 35))
> ax.set_zlim((5, 55))
> 
> # set point-of-view: specified by (altitude degrees, azimuth degrees)
> ax.view_init(30, 0)
> 
> # initialization function: plot the background of each frame
> def init():
> for line, pt in zip(lines, pts):
> line.set_data([], [])
> line.set_3d_properties([])
> 
> pt.set_data([], [])
> pt.set_3d_properties([])
> return lines + pts
> 
> # animation function. This will be called sequentially with the frame number
> def animate(i):
> # we'll step two time-steps per frame. This leads to nice results.
> 
> i = (2 * i) % x_t.shape[1]
> 
> for line, pt, xi in zip(lines, pts, x_t):
> x, y, z = xi[:i].T
> line.set_data(x, y)
> line.set_3d_properties(z)
> 
> pt.set_data(x[-1:], y[-1:])
> pt.set_3d_properties(z[-1:])
> 
> # changed 0.3 to 0.05 below -- this slows the rotation of the view.
> # changed 30 to 20 below
> # changing 20 to (20 + (.1 * i)) rotates on the Z axis. trippy.
> 
> ax.view_init(10, 0.1 * i)
> # ax.view_init(10, 100)
> fig.canvas.draw()
> return lines + pts
> 
> # instantiate the animator. I've deleted the blit switch (for Mac)
> # enlarging frames=500 works now -- it failed before because I didn't give it
> # enough data -- by changing the t=np.linspace line above I generate
> more points.
> # interval larger slows it down
> # changed inteval from 30 to 200, frames from 500 to 3000
> 
> anim = animation.FuncAnimation(fig, animate, init_func=init,
> frames=3000, interval=200)
> 
> # Save as mp4. This requires mplayer or ffmpeg to be installed. COMPLEX!!!!!
> # Instead, use a screen record program: Quicktime on the Mac; MS
> Expression Encoder on PC.
> # anim.save('PDNlorentz_attractor.mp4', fps=15, extra_args=['-vcodec',
> 'libx264'])
> 
> plt.show()
> 
> ------------------------------------------------------------------------------
> Dive into the World of Parallel Programming The Go Parallel Website, sponsored
> by Intel and developed in partnership with Slashdot Media, is your hub for all
> things parallel software development, from weekly thought leadership blogs to
> news, videos, case studies, tutorials and more. Take a look and join the 
> conversation now. http://goparallel.sourceforge.net/
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
From: Prahas D. N. <pra...@gm...> - 2015年03月11日 15:08:00
Hi,
Given the Lorenz code shared yesterday, is there a way
to generate a log file of the x,y,z points generated?
Thanks in advance.
--Prahas
In case you deleted the code:
import numpy as np
from scipy import integrate
from matplotlib import pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
from matplotlib.colors import cnames
from matplotlib import animation
# orig value of N_traj was 20 -- very cool this way.
N_trajectories = 1
def lorentz_deriv((x, y, z), t0, sigma=10., beta=8./3, rho=28.0):
 """Compute the time-derivative of a Lorentz system."""
 return [sigma * (y - x), x * (rho - z) - y, x * y - beta * z]
# Choose random starting points, uniformly distributed from -15 to 15
np.random.seed(1)
# changing from -15,30 to 10,5 below starts the drawing in the middle,
# rather than getting the long line from below....
# if using N_Traj > 1, return to orig values.
# x0 = -15 + 30 * np.random.random((N_trajectories, 3))
x0 = 10 + 5 * np.random.random((N_trajectories, 3))
# Solve for the trajectories
# orig values: 0,4,1000
# 3rd value -- lower it, it gets choppier.
# 2nd value -- increase it -- more points, but speedier.
# change middle num from 4 to 15 -- this adds points!!!!!!!!
t = np.linspace(0, 40, 3000)
x_t = np.asarray([integrate.odeint(lorentz_deriv, x0i, t)
 for x0i in x0])
# Set up figure & 3D axis for animation
fig = plt.figure()
ax = fig.add_axes([0, 0, 1, 1], projection='3d')
# changing off to on below adds axises. slows it down but you
# can fix that with interval value in the animation call
ax.axis('on')
# choose a different color for each trajectory
colors = plt.cm.jet(np.linspace(0, 1, N_trajectories))
# set up lines and points -- this is a correction from
# the orig jake code. the next four lines...
lines = [ax.plot([], [], [], '-', c=c)[0]
for c in colors]
pts = [ax.plot([], [], [], 'o', c=c)[0]
for c in colors]
# prepare the axes limits
ax.set_xlim((-25, 25))
ax.set_ylim((-35, 35))
ax.set_zlim((5, 55))
# set point-of-view: specified by (altitude degrees, azimuth degrees)
ax.view_init(30, 0)
# initialization function: plot the background of each frame
def init():
 for line, pt in zip(lines, pts):
 line.set_data([], [])
 line.set_3d_properties([])
 pt.set_data([], [])
 pt.set_3d_properties([])
 return lines + pts
# animation function. This will be called sequentially with the frame number
def animate(i):
 # we'll step two time-steps per frame. This leads to nice results.
 i = (2 * i) % x_t.shape[1]
 for line, pt, xi in zip(lines, pts, x_t):
 x, y, z = xi[:i].T
 line.set_data(x, y)
 line.set_3d_properties(z)
 pt.set_data(x[-1:], y[-1:])
 pt.set_3d_properties(z[-1:])
 # changed 0.3 to 0.05 below -- this slows the rotation of the view.
 # changed 30 to 20 below
 # changing 20 to (20 + (.1 * i)) rotates on the Z axis. trippy.
 ax.view_init(10, 0.1 * i)
 # ax.view_init(10, 100)
 fig.canvas.draw()
 return lines + pts
# instantiate the animator. I've deleted the blit switch (for Mac)
# enlarging frames=500 works now -- it failed before because I didn't give it
# enough data -- by changing the t=np.linspace line above I generate
more points.
# interval larger slows it down
# changed inteval from 30 to 200, frames from 500 to 3000
anim = animation.FuncAnimation(fig, animate, init_func=init,
 frames=3000, interval=200)
# Save as mp4. This requires mplayer or ffmpeg to be installed. COMPLEX!!!!!
# Instead, use a screen record program: Quicktime on the Mac; MS
Expression Encoder on PC.
# anim.save('PDNlorentz_attractor.mp4', fps=15, extra_args=['-vcodec',
'libx264'])
plt.show()
Thomas described the work-around and provided a link. Put both of the
legends on the second axes. It is a kludge, for sure, but it is all you can
do.
On Wed, Mar 11, 2015 at 10:58 AM, liu lily <pol...@gm...> wrote:
> thanks,
> then are there any workaround on my case?
> or are there any other libaries which I CAN use to plot and manipulate the
> GUI?
>
> On Wed, Mar 11, 2015 at 3:54 PM, Benjamin Root <ben...@ou...> wrote:
>
>> By "top" he means "whichever axes was added most recently". When twining,
>> the new axes is added on top of the original axes.
>>
>> I hope that clears it up.
>>
>> Ben Root
>>
>> On Wed, Mar 11, 2015 at 10:05 AM, liu lily <pol...@gm...>
>> wrote:
>>
>>> I dont understand
>>> you say it is the first axe
>>> but why in my case, only the second legend is draggable? it is in the
>>> second axe
>>>
>>> besides, since I have to use both y-axis on the left and on the right,
>>> it seems I have to have two axes,
>>> are there any workarounds? thanks!
>>>
>>> On Wed, Mar 11, 2015 at 2:22 PM, Thomas Caswell <tca...@gm...>
>>> wrote:
>>>
>>>> The mouse events only propagate to the top axes. You will have to add
>>>> both legends to the same (top) axes.
>>>>
>>>> See http://matplotlib.org/users/legend_guide.html#multiple-legend
>>>>
>>>>
>>>> Tom
>>>> On Wed, Mar 11, 2015, 08:57 liu lily <pol...@gm...> wrote:
>>>>
>>>>> Hi, all:
>>>>>
>>>>> I have two legends, as below, I find that I can't drag the first
>>>>> legend, what is the problem? how to deal with it? thanks!
>>>>>
>>>>> import matplotlib.pyplot as plt
>>>>>
>>>>> fig1, ax1 = plt.subplots()
>>>>> ax2 = ax1.twinx()
>>>>>
>>>>> ax1.plot([1,2,3],[0.1,0.82,0.3],'y*', label="one")
>>>>> ax2.plot([1,2,3],[5,6,7],'ro', label="two")
>>>>>
>>>>> leg1 = ax1.legend()
>>>>> leg2 = ax2.legend()
>>>>>
>>>>> leg1.draggable(state=True)
>>>>> leg2.draggable(state=True)
>>>>> plt.show()
>>>>>
>>>>> ------------------------------------------------------------
>>>>> ------------------
>>>>> Dive into the World of Parallel Programming The Go Parallel Website,
>>>>> sponsored
>>>>> by Intel and developed in partnership with Slashdot Media, is your hub
>>>>> for all
>>>>> things parallel software development, from weekly thought leadership
>>>>> blogs to
>>>>> news, videos, case studies, tutorials and more. Take a look and join
>>>>> the
>>>>> conversation now. http://goparallel.sourceforge.net/
>>>>> _______________________________________________
>>>>> Matplotlib-users mailing list
>>>>> Mat...@li...
>>>>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>>>>>
>>>>
>>>
>>>
>>> ------------------------------------------------------------------------------
>>> Dive into the World of Parallel Programming The Go Parallel Website,
>>> sponsored
>>> by Intel and developed in partnership with Slashdot Media, is your hub
>>> for all
>>> things parallel software development, from weekly thought leadership
>>> blogs to
>>> news, videos, case studies, tutorials and more. Take a look and join the
>>> conversation now. http://goparallel.sourceforge.net/
>>> _______________________________________________
>>> Matplotlib-users mailing list
>>> Mat...@li...
>>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>>>
>>>
>>
>
As I said in the first email, you need to put both legend artists on the
top axes. The link is to the documentation on _how_ to put more than one
legend in the same axes.
Tom
On Wed, Mar 11, 2015 at 10:58 AM liu lily <pol...@gm...> wrote:
> thanks,
> then are there any workaround on my case?
> or are there any other libaries which I CAN use to plot and manipulate the
> GUI?
>
> On Wed, Mar 11, 2015 at 3:54 PM, Benjamin Root <ben...@ou...> wrote:
>
>> By "top" he means "whichever axes was added most recently". When twining,
>> the new axes is added on top of the original axes.
>>
>> I hope that clears it up.
>>
>> Ben Root
>>
>> On Wed, Mar 11, 2015 at 10:05 AM, liu lily <pol...@gm...>
>> wrote:
>>
>>> I dont understand
>>> you say it is the first axe
>>> but why in my case, only the second legend is draggable? it is in the
>>> second axe
>>>
>>> besides, since I have to use both y-axis on the left and on the right,
>>> it seems I have to have two axes,
>>> are there any workarounds? thanks!
>>>
>>> On Wed, Mar 11, 2015 at 2:22 PM, Thomas Caswell <tca...@gm...>
>>> wrote:
>>>
>>>> The mouse events only propagate to the top axes. You will have to add
>>>> both legends to the same (top) axes.
>>>>
>>>> See http://matplotlib.org/users/legend_guide.html#multiple-legend
>>>>
>>>>
>>>> Tom
>>>> On Wed, Mar 11, 2015, 08:57 liu lily <pol...@gm...> wrote:
>>>>
>>>>> Hi, all:
>>>>>
>>>>> I have two legends, as below, I find that I can't drag the first
>>>>> legend, what is the problem? how to deal with it? thanks!
>>>>>
>>>>> import matplotlib.pyplot as plt
>>>>>
>>>>> fig1, ax1 = plt.subplots()
>>>>> ax2 = ax1.twinx()
>>>>>
>>>>> ax1.plot([1,2,3],[0.1,0.82,0.3],'y*', label="one")
>>>>> ax2.plot([1,2,3],[5,6,7],'ro', label="two")
>>>>>
>>>>> leg1 = ax1.legend()
>>>>> leg2 = ax2.legend()
>>>>>
>>>>> leg1.draggable(state=True)
>>>>> leg2.draggable(state=True)
>>>>> plt.show()
>>>>>
>>>>> ------------------------------------------------------------
>>>>> ------------------
>>>>> Dive into the World of Parallel Programming The Go Parallel Website,
>>>>> sponsored
>>>>> by Intel and developed in partnership with Slashdot Media, is your hub
>>>>> for all
>>>>> things parallel software development, from weekly thought leadership
>>>>> blogs to
>>>>> news, videos, case studies, tutorials and more. Take a look and join
>>>>> the
>>>>> conversation now. http://goparallel.sourceforge.net/
>>>>> _______________________________________________
>>>>> Matplotlib-users mailing list
>>>>> Mat...@li...
>>>>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>>>>>
>>>>
>>>
>>>
>>> ------------------------------------------------------------------------------
>>> Dive into the World of Parallel Programming The Go Parallel Website,
>>> sponsored
>>> by Intel and developed in partnership with Slashdot Media, is your hub
>>> for all
>>> things parallel software development, from weekly thought leadership
>>> blogs to
>>> news, videos, case studies, tutorials and more. Take a look and join the
>>> conversation now. http://goparallel.sourceforge.net/
>>> _______________________________________________
>>> Matplotlib-users mailing list
>>> Mat...@li...
>>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>>>
>>>
>>
>
thanks,
then are there any workaround on my case?
or are there any other libaries which I CAN use to plot and manipulate the
GUI?
On Wed, Mar 11, 2015 at 3:54 PM, Benjamin Root <ben...@ou...> wrote:
> By "top" he means "whichever axes was added most recently". When twining,
> the new axes is added on top of the original axes.
>
> I hope that clears it up.
>
> Ben Root
>
> On Wed, Mar 11, 2015 at 10:05 AM, liu lily <pol...@gm...> wrote:
>
>> I dont understand
>> you say it is the first axe
>> but why in my case, only the second legend is draggable? it is in the
>> second axe
>>
>> besides, since I have to use both y-axis on the left and on the right, it
>> seems I have to have two axes,
>> are there any workarounds? thanks!
>>
>> On Wed, Mar 11, 2015 at 2:22 PM, Thomas Caswell <tca...@gm...>
>> wrote:
>>
>>> The mouse events only propagate to the top axes. You will have to add
>>> both legends to the same (top) axes.
>>>
>>> See http://matplotlib.org/users/legend_guide.html#multiple-legend
>>>
>>>
>>> Tom
>>> On Wed, Mar 11, 2015, 08:57 liu lily <pol...@gm...> wrote:
>>>
>>>> Hi, all:
>>>>
>>>> I have two legends, as below, I find that I can't drag the first
>>>> legend, what is the problem? how to deal with it? thanks!
>>>>
>>>> import matplotlib.pyplot as plt
>>>>
>>>> fig1, ax1 = plt.subplots()
>>>> ax2 = ax1.twinx()
>>>>
>>>> ax1.plot([1,2,3],[0.1,0.82,0.3],'y*', label="one")
>>>> ax2.plot([1,2,3],[5,6,7],'ro', label="two")
>>>>
>>>> leg1 = ax1.legend()
>>>> leg2 = ax2.legend()
>>>>
>>>> leg1.draggable(state=True)
>>>> leg2.draggable(state=True)
>>>> plt.show()
>>>>
>>>> ------------------------------------------------------------
>>>> ------------------
>>>> Dive into the World of Parallel Programming The Go Parallel Website,
>>>> sponsored
>>>> by Intel and developed in partnership with Slashdot Media, is your hub
>>>> for all
>>>> things parallel software development, from weekly thought leadership
>>>> blogs to
>>>> news, videos, case studies, tutorials and more. Take a look and join the
>>>> conversation now. http://goparallel.sourceforge.net/
>>>> _______________________________________________
>>>> Matplotlib-users mailing list
>>>> Mat...@li...
>>>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>>>>
>>>
>>
>>
>> ------------------------------------------------------------------------------
>> Dive into the World of Parallel Programming The Go Parallel Website,
>> sponsored
>> by Intel and developed in partnership with Slashdot Media, is your hub
>> for all
>> things parallel software development, from weekly thought leadership
>> blogs to
>> news, videos, case studies, tutorials and more. Take a look and join the
>> conversation now. http://goparallel.sourceforge.net/
>> _______________________________________________
>> Matplotlib-users mailing list
>> Mat...@li...
>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>>
>>
>
By "top" he means "whichever axes was added most recently". When twining,
the new axes is added on top of the original axes.
I hope that clears it up.
Ben Root
On Wed, Mar 11, 2015 at 10:05 AM, liu lily <pol...@gm...> wrote:
> I dont understand
> you say it is the first axe
> but why in my case, only the second legend is draggable? it is in the
> second axe
>
> besides, since I have to use both y-axis on the left and on the right, it
> seems I have to have two axes,
> are there any workarounds? thanks!
>
> On Wed, Mar 11, 2015 at 2:22 PM, Thomas Caswell <tca...@gm...>
> wrote:
>
>> The mouse events only propagate to the top axes. You will have to add
>> both legends to the same (top) axes.
>>
>> See http://matplotlib.org/users/legend_guide.html#multiple-legend
>>
>>
>> Tom
>> On Wed, Mar 11, 2015, 08:57 liu lily <pol...@gm...> wrote:
>>
>>> Hi, all:
>>>
>>> I have two legends, as below, I find that I can't drag the first legend,
>>> what is the problem? how to deal with it? thanks!
>>>
>>> import matplotlib.pyplot as plt
>>>
>>> fig1, ax1 = plt.subplots()
>>> ax2 = ax1.twinx()
>>>
>>> ax1.plot([1,2,3],[0.1,0.82,0.3],'y*', label="one")
>>> ax2.plot([1,2,3],[5,6,7],'ro', label="two")
>>>
>>> leg1 = ax1.legend()
>>> leg2 = ax2.legend()
>>>
>>> leg1.draggable(state=True)
>>> leg2.draggable(state=True)
>>> plt.show()
>>>
>>> ------------------------------------------------------------
>>> ------------------
>>> Dive into the World of Parallel Programming The Go Parallel Website,
>>> sponsored
>>> by Intel and developed in partnership with Slashdot Media, is your hub
>>> for all
>>> things parallel software development, from weekly thought leadership
>>> blogs to
>>> news, videos, case studies, tutorials and more. Take a look and join the
>>> conversation now. http://goparallel.sourceforge.net/
>>> _______________________________________________
>>> Matplotlib-users mailing list
>>> Mat...@li...
>>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>>>
>>
>
>
> ------------------------------------------------------------------------------
> Dive into the World of Parallel Programming The Go Parallel Website,
> sponsored
> by Intel and developed in partnership with Slashdot Media, is your hub for
> all
> things parallel software development, from weekly thought leadership blogs
> to
> news, videos, case studies, tutorials and more. Take a look and join the
> conversation now. http://goparallel.sourceforge.net/
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>
>
I dont understand
you say it is the first axe
but why in my case, only the second legend is draggable? it is in the
second axe
besides, since I have to use both y-axis on the left and on the right, it
seems I have to have two axes,
are there any workarounds? thanks!
On Wed, Mar 11, 2015 at 2:22 PM, Thomas Caswell <tca...@gm...> wrote:
> The mouse events only propagate to the top axes. You will have to add
> both legends to the same (top) axes.
>
> See http://matplotlib.org/users/legend_guide.html#multiple-legend
>
>
> Tom
> On Wed, Mar 11, 2015, 08:57 liu lily <pol...@gm...> wrote:
>
>> Hi, all:
>>
>> I have two legends, as below, I find that I can't drag the first legend,
>> what is the problem? how to deal with it? thanks!
>>
>> import matplotlib.pyplot as plt
>>
>> fig1, ax1 = plt.subplots()
>> ax2 = ax1.twinx()
>>
>> ax1.plot([1,2,3],[0.1,0.82,0.3],'y*', label="one")
>> ax2.plot([1,2,3],[5,6,7],'ro', label="two")
>>
>> leg1 = ax1.legend()
>> leg2 = ax2.legend()
>>
>> leg1.draggable(state=True)
>> leg2.draggable(state=True)
>> plt.show()
>>
>> ------------------------------------------------------------
>> ------------------
>> Dive into the World of Parallel Programming The Go Parallel Website,
>> sponsored
>> by Intel and developed in partnership with Slashdot Media, is your hub
>> for all
>> things parallel software development, from weekly thought leadership
>> blogs to
>> news, videos, case studies, tutorials and more. Take a look and join the
>> conversation now. http://goparallel.sourceforge.net/
>> _______________________________________________
>> Matplotlib-users mailing list
>> Mat...@li...
>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>>
>
The mouse events only propagate to the top axes. You will have to add both
legends to the same (top) axes.
See http://matplotlib.org/users/legend_guide.html#multiple-legend
Tom
On Wed, Mar 11, 2015, 08:57 liu lily <pol...@gm...> wrote:
> Hi, all:
>
> I have two legends, as below, I find that I can't drag the first legend,
> what is the problem? how to deal with it? thanks!
>
> import matplotlib.pyplot as plt
>
> fig1, ax1 = plt.subplots()
> ax2 = ax1.twinx()
>
> ax1.plot([1,2,3],[0.1,0.82,0.3],'y*', label="one")
> ax2.plot([1,2,3],[5,6,7],'ro', label="two")
>
> leg1 = ax1.legend()
> leg2 = ax2.legend()
>
> leg1.draggable(state=True)
> leg2.draggable(state=True)
> plt.show()
>
> ------------------------------------------------------------
> ------------------
> Dive into the World of Parallel Programming The Go Parallel Website,
> sponsored
> by Intel and developed in partnership with Slashdot Media, is your hub for
> all
> things parallel software development, from weekly thought leadership blogs
> to
> news, videos, case studies, tutorials and more. Take a look and join the
> conversation now. http://goparallel.sourceforge.net/
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>
Hi, all:
I have two legends, as below, I find that I can't drag the first legend,
what is the problem? how to deal with it? thanks!
 import matplotlib.pyplot as plt
 fig1, ax1 = plt.subplots()
 ax2 = ax1.twinx()
 ax1.plot([1,2,3],[0.1,0.82,0.3],'y*', label="one")
 ax2.plot([1,2,3],[5,6,7],'ro', label="two")
 leg1 = ax1.legend()
 leg2 = ax2.legend()
 leg1.draggable(state=True)
 leg2.draggable(state=True)
 plt.show()

Showing 12 results of 12

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.
Thanks for helping keep SourceForge clean.
X





Briefly describe the problem (required):
Upload screenshot of ad (required):
Select a file, or drag & drop file here.
Screenshot instructions:

Click URL instructions:
Right-click on the ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)

More information about our ad policies

Ad destination/click URL:

AltStyle によって変換されたページ (->オリジナル) /