Re: [O] Plotting in Python block won't over-write existing file

2015-03-08 Thread Richard Stanton
> Date: Fri, 06 Mar 2015 14:21:54 -0500
> From: Nick Dokos 
> To: emacs-orgmode@gnu.org
> Subject: Re: [O] Plotting in Python block won't over-write existing
>   file
> Message-ID: <87sidi9bjh@alphaville.usersys.redhat.com>
> Content-Type: text/plain; charset=utf-8
> 
> Richard Stanton  writes:
> 
>> Here?s a sample Python code block:
>> 
>> #+begin_src python :results file :exports both
>> import matplotlib
>> matplotlib.use('Agg')
>> import matplotlib.pyplot as plt
>> import pandas as pd
>> 
>> df = pd.DataFrame({'date': [1900, 1901, 1902], 'x1' : [3, 4, 5], 'x2' : [6, 
>> 7, 9]})
>> df.set_index('date', inplace=True, drop=True)
>> df.plot()
>> plt.savefig('x4.png')
>> return 'x4.png' # return filename to org-mode
>> #+End_src
>> 
>> When I run it, the graph appears on the screen and in the named file, as 
>> desired.
>> 
>> However, if I go back, change one of the numbers, and rerun the block,
>> while it claims to have run OK, the graph is not updated. I only get a
>> new plot if I also change the file name (e.g., to x5.png). It looks
>> like it?s refusing to over-write an existing file. Is there a reason
>> for this, and is there a way to change this behavior?
>> 
>> By the way, this is with org-mode 8.3beta-884-g9ed426
>> 
> 
> IIUC, you eval the code, hit the resulting link (which opens a buffer with the
> graph), change a number and reeval the code - do you hit the link again?
> That should ask you whether you want to read the changed file again and
> show the updated graph.

Thanks, Nick. After MUCH investigation, and a lot of help from John Kitchen, I 
worked out that

a. The file was changing fine on disk, just not redisplaying in Emacs.

b. The problem seems to be related to the version of Emacs I'm using (24.4 for 
OS X), downloaded from http://emacsformacosx.com/builds. After going back there 
and downloading and installing Emacs 24.4.90 pretest, org-mode now updates 
graphs just fine. 

I don't know what the problem was, or why changing the Emacs version solved it 
(with no other changes), but maybe this will be helpful to someone else.

Best,

RIchard Stanton


Re: [O] Plotting in Python block won't over-write existing file

2015-03-06 Thread Nick Dokos
Richard Stanton  writes:

> Here’s a sample Python code block:
>
> #+begin_src python :results file :exports both
> import matplotlib
> matplotlib.use('Agg')
> import matplotlib.pyplot as plt
> import pandas as pd
>
> df = pd.DataFrame({'date': [1900, 1901, 1902], 'x1' : [3, 4, 5], 'x2' : [6, 
> 7, 9]})
> df.set_index('date', inplace=True, drop=True)
> df.plot()
> plt.savefig('x4.png')
> return 'x4.png' # return filename to org-mode
> #+End_src
>
> When I run it, the graph appears on the screen and in the named file, as 
> desired.
>
> However, if I go back, change one of the numbers, and rerun the block,
> while it claims to have run OK, the graph is not updated. I only get a
> new plot if I also change the file name (e.g., to x5.png). It looks
> like it’s refusing to over-write an existing file. Is there a reason
> for this, and is there a way to change this behavior?
>
> By the way, this is with org-mode 8.3beta-884-g9ed426
>

IIUC, you eval the code, hit the resulting link (which opens a buffer with the
graph), change a number and reeval the code - do you hit the link again?
That should ask you whether you want to read the changed file again and
show the updated graph.

Nick





[O] Plotting in Python block won't over-write existing file

2015-03-06 Thread Richard Stanton
Here’s a sample Python code block:

#+begin_src python :results file :exports both
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
import pandas as pd

df = pd.DataFrame({'date': [1900, 1901, 1902], 'x1' : [3, 4, 5], 'x2' : [6, 7, 
9]})
df.set_index('date', inplace=True, drop=True)
df.plot()
plt.savefig('x4.png')
return 'x4.png' # return filename to org-mode
#+End_src

When I run it, the graph appears on the screen and in the named file, as 
desired.

However, if I go back, change one of the numbers, and rerun the block, while it 
claims to have run OK, the graph is not updated. I only get a new plot if I 
also change the file name (e.g., to x5.png). It looks like it’s refusing to 
over-write an existing file. Is there a reason for this, and is there a way to 
change this behavior?

By the way, this is with org-mode 8.3beta-884-g9ed426

Thanks.

Richard Stanton