专栏名称: 蚂蚁金服ProtoTeam
数据前端团队
目录
相关文章推荐
51好读  ›  专栏  ›  蚂蚁金服ProtoTeam

用Python给数据分析穿上嫁衣,炫的不要不要的...

蚂蚁金服ProtoTeam  · 掘金  · 前端  · 2017-12-08 05:46

正文

请到「今天看啥」查看全文


安装

方法一:

pip install Altair

方法二:

conda install altair --channel conda-forge

快速入门

import altair as alt

# 加载数据集

cars = alt.load_dataset('cars')

#绘图

alt.Chart(cars).mark_point().encode(

x='Horsepower',

y='Miles_per_Gallon',

color='Origin',

)

运行结果:

5.PyQtGraph

PyQtGraph是在PyQt4 / PySide和numpy上构建的纯 python的GUI图形库。它主要用于数学,科学,工程领域。尽管PyQtGraph完全是在python中编写的,但它本身就是一个非常有能力的图形系统,可以进行大量的数据处理,数字运算;使用了Qt的GraphicsView框架优化和简化了工作流程,实现以最少的工作量完成数据可视化,且速度也非常快。

卡片的背景色需要调出布局工具栏来设置每个卡片都可以嵌套插入图片或其它模板

安装

方法一

pip install PyQtGraph

方法二

下载安装(http://www.pyqtgraph.org/)

快速入门

import pyqtgraph as pg

from pyqtgraph.Qt import QtGui, QtCore

import numpy as np

#创建一个绘图区

win = pg.plot()

win.setWindowTitle('pyqtgraph example: FillBetweenItem')

win.setXRange(-10, 10)

win.setYRange(-10, 10)

#曲线

N = 200

x = np.linspace(-10, 10, N)

gauss = np.exp(-x**2 / 20.)

mn = mx = np.zeros(len(x))

curves = [win.plot(x=x, y=np.zeros(len(x)), pen='k') for i in range(4)]

brushes = [0.5, (100, 100, 255), 0.5]

fills = [pg.FillBetweenItem(curves[i], curves[i+1], brushes[i]) for i in range(3)]

for f in fills:

win.addItem(f)

def update():

global mx, mn, curves, gauss, x

a = 5 / abs(np.random.normal(loc=1, scale=0.2))

y1 = -np.abs(a*gauss + np.random.normal(size=len(x)))

y2 =  np.abs(a*gauss + np.random.normal(size=len(x)))

s = 0.01

mn = np.where(y1<mn, y1, mn) * (1-s) + y1 * s

mx = np.where(y2>mx, y2, mx) * (1-s) + y2 * s

curves[0].setData(x, mn)

curves[1].setData(x, y1)

curves[2].setData(x, y2)

curves[3].setData(x, mx)

#时间轴

timer = QtCore.QTimer()

timer.timeout.connect(update)

timer.start(30)

#启动Qt

if __name__ == '__main__':

import sys

if (sys.flags.interactive != 1) or not hasattr(QtCore, 'PYQT_VERSION'):

QtGui.QApplication.instance().exec_()

运行结果:

6.ggplot

ggplot是基于R的ggplot2和图形语法的Python的绘图系统,实现了更少的代码绘制更专业的图形。 它使用一个高级且富有表现力的API来实现线,点等元素的添加,颜色的更改等不同类型的可视化组件的组合或添加,而不需要重复使用相同的代码,然而这对那些试图进行高度定制的的来说,ggplot并不是最好的选择,尽管它也可以制作一些非常复杂、好看的图形。  ggplot与pandas紧密联系。如果你打算使用ggplot,最好将数据保存在DataFrames中。

安装:

linux系统

pip install numpy

pip install scipy

pip install statsmodels

pip install ggplot

window系统

下载ggplot安装包(https://www.lfd.uci.edu/~gohlke/pythonlibs/#ggplot)

然后运行

pip install ggplot‑0.11.5‑py2.py3‑none‑any.whl

快速入门

from ggplot import *

ggplot(aes(x='date', y='beef', ymin='beef - 1000', ymax='beef + 1000'), data=meat) + \

geom_area() + \

geom_point(color='coral')

运行结果:

7.Bokeh

Bokeh是一个Python交互式可视化库,支持现代化web浏览器展示(图表可以输出为JSON对象,HTML文档或者可交互的网络应用)。它提供风格优雅、简洁的D3.js的图形化样式,并将此功能扩展到高性能交互的数据集,数据流上。使用Bokeh可以快速便捷地创建交互式绘图、仪表板和数据应用程序等。 Bokeh能与NumPy,Pandas,Blaze等大部分数组或表格式的数据结构完美结合。

安装:

方法一:如果有配置anaconda的话使用以下命令(推荐)

conda install bokeh

方法二:

pip install numpy

pip install pandas

pip install redis

pip install bokeh

快速入门

from bokeh.plotting import figure, output_file, show

# 创建图

p = figure(plot_width=300, plot_height=300, tools="pan,reset,save")

# 画圆

p.circle([1, 2.5, 3, 2], [2, 3, 1, 1.5], radius=0.3, alpha=0.5)

# 定义输出文件格式

output_file("foo.html")

# 图片展示

show(p)

运行结果:

8.pygal







请到「今天看啥」查看全文