Python之PyChart画图方法

其实,Python绘图的方式很多,也有很多开源不错的模块可以选择,比如常用于科学计算的 Matplotlib Cairoplot (需要翻墙)、 Chaco Python Google Chart PyCha pyOFC2 PyChart PLplot ReportLab VPython 等等。

    这里,我们介绍下PyChart模块,其绘图还是比较方便的,而且绘出的图像也还不错。我们除了需要安装PyChart模块之外,还需要安装Ghostscript和GSview,为了方便大家,这里提供51cto的下载地址:

    PyChart:http://down.51cto.com/data/391104

    Ghostscript:http://down.51cto.com/data/391088

    GSview:http://down.51cto.com/data/391100

    OK,安装完之后,看一个简单的示例代码:

  1. http://flykite.blog.51cto.com/
  2. from pychart import *  
  3.  
  4. class zap_y_coord(linear_coord.T):  
  5.     def get_canvas_pos(self, sizeval, minmax):  
  6.         if val <= 70:  
  7.             return linear_coord.T.get_canvas_pos(self, sizeval, 0, 110)  
  8.         elif val <= 240:  
  9.             return linear_coord.T.get_canvas_pos(self, size70, 0, 110)  
  10.         else:  
  11.             return linear_coord.T.get_canvas_pos(self, sizeval 170, 0, 110)  
  12.     def get_tics(self, minmaxinterval):  
  13.         tics linear_coord.T.get_tics(self, minmaxinterval)  
  14.         return [x for in tics if 65 or 256]  
  15.  
  16. can canvas.default_canvas()  
  17. can canvas.init('flykite.png')  
  18. theme.scale_factor=3  
  19. theme.use_color=True 
  20. theme.reinitialize()  
  21. data [(10, 20, 30, 5), (20, 265, 33, 5),  
  22.         (30, 255, 30, 5), (40, 45, 51, 7), (50, 25, 27, 3)]  
  23.  
  24. chart_object.set_defaults(area.T, size (150, 120), y_range (0, 280),  
  25.                           y_coord zap_y_coord(),  
  26.                           x_coord category_coord.T(data, 0))  
  27. chart_object.set_defaults(bar_plot.T, data data)  
  28.  
  29. bar_plot.fill_styles.reset();  
  30. plot1=bar_plot.T(label="foo"cluster=(0,3))  
  31. plot2=bar_plot.T(label="bar"hcol=2, cluster=(1,3))  
  32. plot3=bar_plot.T(label="baz"hcol=3, cluster=(2,3))  
  33.  
  34. ar area.T(loc=(250,0),  
  35.             x_axis=axis.X(label="X label"format="/a-30{}%d"),  
  36.             y_axis=axis.Y(label="Y label"tic_interval=10))  
  37. ar.add_plot(plot1, plot2, plot3)  
  38. ar.draw()  
  39. for in (ar.x_pos(10) 20, ar.x_pos(20)- 10, ar.x_pos(30) 10):  
  40.     zap.zap_horizontally(can, line_style.defaultfill_style.white,  
  41.                          x, ar.y_pos(65), x+16, ar.y_pos(65) 4, 4, 4) 

    为了生成png图片,使用以下命令运行程序:

  1. python flykite.py --format=png 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值