Python之PyChart畫圖方法

openkk 12年前發布 | 77K 次閱讀 Python Python開發

    其實,Python繪圖的方式很多,也有很多開源不錯的模塊可以選擇,比如常用于科學計算的MatplotlibCairoplot(需國內或許不能訪問)、ChacoPython Google ChartPyChapyOFC2PyChartPLplotReportLabVPython等等。

    這里,我們介紹下PyChart模塊,其繪圖還是比較方便的,而且繪出的圖像也還不錯。我們除了需要安裝PyChart模塊之外,還需要安裝Ghostscript和GSview。   OK,安裝完之后,看一個簡單的示例代碼:

from pychart import *  

class zap_y_coord(linear_coord.T):  
    def get_canvas_pos(self, size, val, min, max):  
        if val <= 70:  
            return linear_coord.T.get_canvas_pos(self, size, val, 0, 110)  
        elif val <= 240:  
            return linear_coord.T.get_canvas_pos(self, size, 70, 0, 110)  
        else:  
            return linear_coord.T.get_canvas_pos(self, size, val - 170, 0, 110)  
    def get_tics(self, min, max, interval):  
        tics = linear_coord.T.get_tics(self, min, max, interval)  
        return [x for x in tics if x < 65 or x > 256]  

# can = canvas.default_canvas()  
can = canvas.init('flykite.png')  
theme.scale_factor=3  
theme.use_color=True 
theme.reinitialize()  
data = [(10, 20, 30, 5), (20, 265, 33, 5),  
        (30, 255, 30, 5), (40, 45, 51, 7), (50, 25, 27, 3)]  

chart_object.set_defaults(area.T, size = (150, 120), y_range = (0, 280),  
                          y_coord = zap_y_coord(),  
                          x_coord = category_coord.T(data, 0))  
chart_object.set_defaults(bar_plot.T, data = data)  

bar_plot.fill_styles.reset();  
plot1=bar_plot.T(label="foo", cluster=(0,3))  
plot2=bar_plot.T(label="bar", hcol=2, cluster=(1,3))  
plot3=bar_plot.T(label="baz", hcol=3, cluster=(2,3))  

ar = area.T(loc=(250,0),  
            x_axis=axis.X(label="X label", format="/a-30{}%d"),  
            y_axis=axis.Y(label="Y label", tic_interval=10))  
ar.add_plot(plot1, plot2, plot3)  
ar.draw()  
for x in (ar.x_pos(10) - 20, ar.x_pos(20)- 10, ar.x_pos(30) - 10):  
    zap.zap_horizontally(can, line_style.default, fill_style.white,  
                         x, ar.y_pos(65), x+16, ar.y_pos(65) + 4, 4, 4) 

    為了生成png圖片,使用以下命令運行程序:

    python flykite.py --format=png 

    圖片效果如下:

 Python之PyChart畫圖方法

轉自:http://flykite.blog.51cto.com/4721239/846388

 本文由用戶 openkk 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!