plotly

概述

plotly是可以替代matplotlib的神器

官方网站:
https://plot.ly/python/

安装

pip install plotly

在线 vs 离线

plotly支持两种使用模式

在线模式需要有账号可以云编辑,这里主要讲 离线模式

在线使用

import plotly

#设置用户名和API-Key
plotly.tools.set_credentials_file(username='DemoAccount', api_key='lr1c37zw81')

离线使用

api 在plotly.offline.模块下

jupyter notebook

推荐与 jupyter notebook 搭配使用

py.plot和py.iplot区别

py.plot会生成一个离线的html文件,里面放置图片,该文件体积较大
py.iplot则直接在ipython notebook里面生成图片

散点图

import plotly
import plotly.graph_objs as go

# plotly相关文件不包含在.ipynb文件中,否则.ipynb文件很大
plotly.offline.init_notebook_mode(connected=True)

plotly.offline.iplot({
    "data": [go.Scatter(x=[1, 2, 3, 4], y=[4, 3, 2, 1],
    mode = 'markers',
    name = 'markers')]
})

综合案例


import plotly
import numpy as np
import plotly.graph_objs as go

#setting offilne
plotly.offline.init_notebook_mode(connected=True)

N = 100
random_x = np.linspace(0,1,N)
random_y0 = np.random.randn(N)+5
random_y1 = np.random.randn(N)
random_y2 = np.random.randn(N)-5

#Create traces
trace0 = go.Scatter(
    x = random_x,
    y = random_y0,
    mode = 'markers',
    name = 'markers'
)
trace1 = go.Scatter(
    x = random_x,
    y = random_y1,
    mode = 'lines+markers',
    name = 'lines+markers'
)
trace2 = go.Scatter(
    x = random_x,
    y = random_y2,
    mode = 'lines',
    name = 'lines'
)
data = [trace0,trace1,trace2]
plotly.offline.iplot(data)