文档章节

10个Python 统计报表/图表图形类库

大数据之路
 大数据之路
发布于 2012/08/24 02:30
字数 1137
阅读 12422
收藏 15

今天介绍一些Python中用于画图表图形的类库。因为有些时候,他们跟matlab一样简单,方便。而且有些也具有非凡的表现力。

  1. matplotlib,官网:http://matplotlib.sourceforge.net/,Matplotlib 是一个由 John Hunter 等开发的,用以绘制二维图形的 Python 模块。它利用了 Python 下的数值计算模块 Numeric 及 Numarray,克隆了许多 Matlab 中的函数, 用以帮助用户轻松地获得高质量的二维图形。Matplotlib 可以绘制多种形式的图形包括普通的线图,直方图,饼图,散点图以及误差线图等;可以比较方便的定制图形的各种属性比如图线的类型,颜色,粗细,字体的大小 等;它能够很好地支持一部分 TeX 排版命令,可以比较美观地显示图形中的数学公式。个人比较推荐这个类库。查看例子

  2. Cairoplot,官网:http://linil.wordpress.com/2008/09/16/cairoplot-11/,(友情提示:需要FanQiang)。Cairoplot在网页上的表现力堪比flex中的图表图形效果。但是这个似乎只能跑在linux平台上。所以很多windows用户估计要失望了。

  3. Chaco, 官网:http://code.enthought.com/chaco/,Chaco是一个2D的绘图库。其中文简单教程参考:http://hyry.dip.jp/pydoc/chaco_intro.html

  4. Python Google Chart,官网:http://pygooglechart.slowchop.com/。从命名方式来看,这个肯定与google chart扯上了关系。所以该类库是对Google chart API的一个完整封装。

  5. PyCha,官网:https://bitbucket.org/lgs/pycha/wiki/Home。PyCha可是说是Cairo 类库的一个简单封装,为了是实现轻量级,以及容易使用,当然还做了一些优化等。

  6. pyOFC2,官网:http://btbytes.github.com/pyofc2/。它是Open Falsh Library的Python类库。所以图形具有Flash效果,可以随鼠标移动动态显示图标中信息,这是优越于其他静态图示的。

  7. Pychart,官网:http://home.gna.org/pychart/。pyChart是用于创建高品质封装的PostScript,PDF格式,PNG,或SVG图表Python库。

  8. PLPlot,官网:http://plplot.sourceforge.net/。PLPlot是用于创建科学图表的跨平台软件包。以C类库为核心,支持各种语言绑定(C, C++, Fortran, Java, Python, Perl etc.)。开源免费。

  9. reportlab,官网:http://www.reportlab.com/software/opensource/。这个我们之前介绍过,参考http://www.codecho.com/installation-and-example-of-reportlab-in-python/。这个类库支持在pdf中画图表。

  10. Vpython,官网:http://www.vpython.org/index.html,VPython是Visual Python的简写,Visual是由Carnegie Mellon University(卡耐基-梅隆大学)在校学生David Scherer于2000年撰写的一个Python 3D绘图模块。

  11. Gallery

         http://bokeh.pydata.org/gallery.html         https://github.com/ContinuumIO/Bokeh/tree/master/examples

------------------------

吐槽一下:
pyCha 图标过于简单,而且颜色过于单一,更重要的是,还需要Cairo的支持,可是现在能够庆用的Cario不多。
Python Goolge Chart是几个代码中最简单的,图标无数据。只管美观,不实用。
matplotlib,太过复杂,光光可用的模块,就不下40-50,看得真晕。
最后,测试ChartDirector,最好。可是商业软件,生成的图像还有一个黄Banner。悲催呀~

----------------------------------

下面举个 ChartDirector  的例子(注意 ChartDirector 包含 python、php、perl、c++等各种版本,这里用python示范):

#!/usr/bin/python
from pychartdir import *

# The data for the line chart
data0 = [60.2, 51.7, 81.3, 48.6, 56.2, 68.9, 52.8,60.2, 51.7, 81.3, 48.6, 56.2, 68.9]
data1 = [30.0, 32.7, 33.9, 29.5, 32.2, 28.4, 29.8,30.0, 32.7, 33.9, 29.5, 32.2, 28.4, 29.8]
labels = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat","Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]

# Create a XYChart object of size 300 x 180 pixels, with a pale yellow (0xffffc0)
# background, a black border, and 1 pixel 3D border effect.
c = XYChart(1000, 800, 0xffffc0, 0x000000, 1)

# Set the plotarea at (45, 35) and of size 240 x 120 pixels, with white background.
# Turn on both horizontal and vertical grid lines with light grey color (0xc0c0c0)
c.setPlotArea(45, 35, 900, 700, 0xffffff, -1, -1, 0xc0c0c0, -1)

# Add a legend box at (45, 12) (top of the chart) using horizontal layout and 8 pts
# Arial font Set the background and border color to Transparent.
c.addLegend(10, 742, 0, "", 18).setBackground(Transparent)

# Add a title to the chart using 9 pts Arial Bold/white font. Use a 1 x 2 bitmap
# pattern as the background.
c.addTitle("Server Load (Jun 01 - Jun 07)", "arialbd.ttf", 9, 0xffffff
    ).setBackground(c.patternColor([0x004000, 0x008000], 2))

# Set the y axis label format to nn%
# c.yAxis().setLabelFormat("{value}%")
c.yAxis().setLabelFormat("{value}")

# Set the labels on the x axis
c.xAxis().setLabels(labels)

# Add a line layer to the chart
layer = c.addLineLayer()

# Add the first line. Plot the points with a 7 pixel square symbol
layer.addDataSet(data0, 0xcf4040, "Peak").setDataSymbol(SquareSymbol, 7)

# Add the second line. Plot the points with a 9 pixel dismond symbol
layer.addDataSet(data1, 0x40cf40, "Average").setDataSymbol(DiamondSymbol, 9)

# Enable data label on the data points. Set the label format to nn%.
layer.setDataLabelFormat("{value}")

# Output the chart
c.makeChart("symbolline.png")

 


推荐阅读:

[1] 2013年度Python数据模块

http://segmentfault.com/a/1190000000424711

[2] 55种开源数据可视化工具简介

http://t.cn/RA879rv

[3] 让效率“爆表”的49个数据可视化工具

http://weibo.com/p/1001603836173314294816

本文转载自:http://www.codecho.com/10-python-libraries-of-chart-and-graphic/

上一篇: Spark 源码分析
大数据之路
粉丝 1605
博文 514
码字总数 333882
作品 0
武汉
架构师
私信 提问
Python 调用 matplotlib 实现交互式数据可视化图表案例

交互式的数据可视化图表是 New IT 新技术的一个应用方向,在过去,用户要在网页上查看数据,基本的实现方式就是在页面上显示一个表格出来,的而且确,用表格的方式来展示数据,显示的数据量会...

xjtuhit
2018/06/11
0
0
交互式的 Python 图形库 - plotly.py

plotly.py(plotly Python library) 一个开源的、交互式的、基于浏览器的 Python 图形库。它支持 40 多种独特的图表类型,涵盖广泛的统计、金融、地理、科学和三维用例等。 plotly.py 构建在...

匿名
08/02
878
0
这里有8个流行的Python可视化工具包,你喜欢哪个?

喜欢用 Python 做项目的小伙伴不免会遇到这种情况:做图表时,用哪种好看又实用的可视化工具包呢?之前文章里出现过漂亮的图表时,也总有读者在后台留言问该图表时用什么工具做的。下面,作者...

机器之心
04/29
0
0
zabbix短信报警信息统计以及报表展示

需求 由于我们的业务报警比较频繁,之前是针对每个报警进行具体处理,但是有时还会重复出现,或者后续处理有时忘记跟进等,因此进行报警短信的统计,可以针对一些问题与业务跟进,明确后续的...

Linux就该这么学
2018/09/29
97
0
【译文】10本免费必读的机器学习和数据科学书籍

原文标题:Another 10 Free Must-Read Books for Machine Learning and Data Science 原文链接:https://www.kdnuggets.com/2019/03/another-10-free-must-read-books-for-machine-learning-......

等花花不开
04/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

JS--function

一、声明提前(hoist) 在js程序开始执行前,引擎会查找所有var声明的变量和function声明的函数,集中到当前作用域顶部集中创建,赋值留在原地 二、三种创建函数的方式 1、声明方式创建函数-...

wytao1995
今天
4
0
微服务之间调用控制器注解类型的差异

今天在一个业务服务通过Feign调用文件服务上传文件时遇到了几个问题: 1. 提示http请求头过大的问题; 此时需要修改bootstrap.yml,加入 server: max-http-header-size: 10000000 用以放大...

不再熬夜
今天
7
0
用 4G 工作是什么体验

七月开始,因为工作原因,在公司附近租了个住处,方便工作。离公司近了,感觉就是不一样,之前每天 5:30 就要起床赶地铁,现在可以睡到自然醒,一看才 7 点,悠闲的起床洗漱,踱步到公司,都...

zzxworld
今天
6
0
sonar报错volatile

问题发生 原先代码如下: //认证授权码private static volatile String AUTHORIZATION_CODE = "init"; git push 之后,sonar认为这是个bug检测报告截图如下: 分析排查 解释说明: Markin...

开源小菜鸟2333
今天
5
0
《Java实践指南》--读后

闲读《Java实践指南》... 1.lvy 某些项目中能够看到ivy.xml。早期使用ant的项目中,常常用ivy.xml来下载项目依赖。 2.ant 作为java程序员,应该都知道ant,虽然可能用过的人不多。为什么ant...

RippleChan
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部