概述
plotly是可以替代matplotlib的神器
安装
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)