2012-02-26 101 views
4

在組織模式下,我試圖從一個小的Python 2班輪將數據「管」到Gnuplot中,但我無法弄清楚如何正確執行該操作(Gnuplot圖像保持0kb )。這是我在此期間得到的多少:組織模式代碼塊評估

#+NAME: foo 
#+begin_src python :exports code 
    import random 
    for x in range (0,300): 
    print random.randrange(1000), random.randrange(1000) 
#+end_src 

#+begin_src gnuplot :file gnuplot.png :exports results 
    reset 
    plot call_foo notitle 
#+end_src 

誰能做這個工作?

回答

1

我在emacs中的gnuplot目前無法正常工作,所以我無法給出完整的工作答案。但是,Python位的:exports屬性應爲output,而不是code。此外,要在gnuplot會話中訪問這些數據,您可能需要將其作爲表格讀取。所以,如果你有你的Python代碼:

#+name: foo 
#+begin_src python :exports results 
    import random 
    for x in range(0,300): 
     print random.randrange(1000), random.randrange(1000) 
#+end_src 

,你會希望你的gnuplot會議結果的表作爲讀取變量

#+name: plot-it(data = foo) 
#+begin_src gnuplot :file gnuplot.png 
    plot data notitle 
#+end_src 

你可能需要做的data一些處理gnuplot代碼中的變量,以確保它是適當的格式。正如我上面所說,我目前無法測試,但它應該是一個起點。

+0

我已經進一步瞭解了,請參閱下面的內容。 – dshh2011 2012-02-27 09:11:04

0

我已經與這兩個問題,我怎麼可以把Python來拿出一個組織的表格,以及如何可以由其他的Gnuplot塊評估進行得遠一點:Python中可以做

  1. 返回[1,2,3]
  2. print「| 1 | 2 | 3 |」:結果輸出的原始
  3. 打印[A,B,C]爲:結果輸出表

我已經與evalutation succeedes與此代碼塊的位置:

#+srcname: foo 
#+begin_src python :results output raw :exports code 
    import random 
    out="| %s | %s |" 
    for x in range(0, 300): 
      pair=(random.randrange(1000), random.randrange(1000)) 
      print out % pair 
#+end_src 

#+begin_src gnuplot :var data=foo :file gnuplot.png :exports results 
    reset 
    set terminal png size 500,375 
    plot data u 1:2 notitle 
#+end_src 

但是,通過這種設置,我總是必須「手工」執行Python塊以生成#+結果:foo塊(其中包括行如:| 629 | 884 |),並且迄今爲止無法對其進行自動評估。