2010-09-10 27 views
1

在Python中編寫這樣一個腳本以及哪種語言適合快速執行以及適用於圖表的有用庫/框架是否是一個好主意?(在計算用戶輸入的表達式之後創建圖表)PHP或Python在計算後創建webcharts?

編輯:它是一個web服務器端腳本

+0

什麼是已經編碼的「計算表達式」的服務器端腳本? PHP或Python,它們都非常有能力繪製/繪圖。他們都有多個圖表庫。他們都表現良好。 – Mark 2010-09-10 19:35:20

+0

Python.I聽說PHP比Python有更快的速度,我想知道什麼? – 2010-09-11 01:15:12

回答

1

我不完全確定你的意思是「圖表」,但如果你的意思是繪圖/創建圖表,也許你應該看看R,一個免費的統計軟件環境計算和圖形。它具有良好的圖形功能,可以連接到許多環境,包括Python。

+0

我想我忘了指定...這是一個Web應用程序。所以我必須將圖表轉換爲圖像,我不知道是否有原生的PHP或蟒蛇技術 – 2010-09-10 18:42:06

0

使用reportlab庫http://www.reportlab.com/software/opensource/在Python中即時生成圖形是非常簡單的。它包括從數據列表創建條形圖,線條,餅圖等圖表的功能。不要被強調生成PDF所誤導,該庫也可以創建PNG或GIF圖像。另外,官方文檔非常冗長和令人生畏,但一旦你真正開始編碼,它就非常容易理解。

下面的頁面解釋了Django的整個過程,但同樣的方法適用於任何框架:http://code.djangoproject.com/wiki/Charts

尤其要注意的是,您可以在內存中構建圖形並將其作爲HttpResponse返回。這很快。我用像下面這樣在我的應用程序之一:

def my_chart(request): 
    response = HttpResponse(
     my_function_to_make_a_chart().asString('png'), 
     'image/png', 
    ) 
    return response 

這Django的觀點將與您會直接嵌入到HTML文檔作爲標籤的URL相關聯:

<img src="/my_site/my_chart/" alt="A cool chart" /> 
+0

這很有趣,HttpResponse的想法很酷!只是好奇是它需要使用框架,或者它不是純Python中的很多代碼。 – 2010-09-10 21:22:38

+0

生成圖表只是python(使用reportlab庫)。你現在用什麼來運行你的服務器端腳本?只是CGI?可以這樣做,但框架爲您處理了很多樣板文件。如果你想要最小的東西,你可以使用Flask:。 – AndrewF 2010-09-10 21:40:32

+0

只是Python ... Flask看起來不錯,雖然 – 2010-09-10 22:03:13

1

對於Python - 檢查matplotlib - 它應該做你需要做的一切,包括輸出到PNG,JPEG等。

+0

我檢查了它,謝謝,它看起來簡單快速 – 2010-09-10 21:17:38