python可视化学习(二):plotly库(基础)
1.安装和更新
安装:
pip install plotly
更新:
pip install plotly --upgrade
2.在线使用,画的图会存入云账户中
import plotly
#设置用户名和API-KEY
plotly.offline.init_notebook_mode(connected=True)
在这里,用到的用户名和API需要到plotly的官网进行注册登录,然后登陆如下界面:
往下拉,输入密码,即可获得API-KEY。
3.离线使用
import plotly
from plotly.graph_objs import Scatter,Layout
plotly.offline.init_notebook_mode(connected=True)
4.py.plot和py.iplot区别
py。plot会生成一个离线的html文件,里面放置图片。而py.iplot则直接在ipython notebook里面生成图片
在这里,我就使用离线使用的方法,来为大家演示一下,每个操作的使用。(建议使用jupyter notebook)
5.plotly库的使用
5.1 折线图
#%%writefile D:\基本折线图.py #保存成py文件
import plotly.offline as py
from plotly.graph_objs import Scatter, Layout
import plotly.graph_objs as go
py.init_notebook_mode(connected=True)
trace1 = go.Scatter(
x=[1,2,3],
y=[1,2,4])
trace2 = go.Scatter(
x=[1,2,5],
y=[2,1,4])
py.iplot([trace1, trace2])
5.2 基本散点图
#%%writefile D:\基本散点图.py
import plotly.offline as py
from plotly.graph_objs import Scatter, Layout
import plotly.graph_objs as go
py.init_notebook_mode(connected=True)
trace = go.Scatter(
x=[1,2,3],
y=[1,2,3],
marker = dict( #marker可无
color=['red', 'blue', 'green'],
size=[30,80,200],),
mode='markers' #如果没有mode,默认值问点加直线
)
py.iplot([trace])
5.3 直线加点图
#%%writefile D:\直线加散点图.py
import plotly.offline as py
from plotly.graph_objs import Scatter, Layout
import plotly.graph_objs as go
py.init_notebook_mode(connected=True)
trace = go.Scatter(
x=[1,2,3],
y=[1,2,3],
marker = dict(
color=['red', 'blue', 'green'],
size=[30,80,200],),
mode='markers + lines'
)
py.iplot([trace])
5.4 设立图例的位置
#%%writefile D:\图例的位置图.py
import plotly.offline as py
from plotly.graph_objs import Scatter, Layout
import plotly.graph_objs as go
py.init_notebook_mode(connected=True)
trace1=go.Scatter(
name="lenged1",
x=[3,2],
y=[2,1])
trace2=go.Scatter(
name="lenged2",
x=[1,2],
y=[2,1])
layout = go.Layout( #会自动帮我们生成图例,但是我们可以调整图例的位置
showlegend=True,
legend=dict(
x=0.0,
y=0.0)
)
data = [trace1, trace2]
fig = go.Figure(data=data, layout=layout)
py.iplot(fig)
5.5 给点加注释
#%%writefile D:\给点加上注释图.py
import plotly.offline as py
from plotly.graph_objs import Scatter, Layout
import plotly.graph_objs as go
py.init_notebook_mode(connected=True)
trace1=go.Scatter(
x=[1,2,3],
y=[1,2,3],
text=['A', 'B', 'C'],
textposition='top center', #正上方
mode="markers+text", #这句话不可少
marker=dict(
size=[20,20,20]
)
)
data=[trace1]
py.iplot(data)
5.6 设立坐标轴
#%%writefile D:\设置坐标轴图.py
import plotly.offline as py
from plotly.graph_objs import Scatter, Layout
import plotly.graph_objs as go
py.init_notebook_mode(connected=True)
trace=go.Scatter(
x=[-1,2,3,4],
y=[1,-2,3,6])
axis_template=dict(
showgrid=True, #网格
zeroline=True, #是否显示基线,即沿着(0,0)画出x轴和y轴
nticks=20, #格子数目
showline=True,
title='X axis',
mirror='all',
zerolinecolor='#FF0000'
)
layout=go.Layout(
xaxis=axis_template,
yaxis=axis_template)
data=[trace]
fig=go.Figure(
data=data,
layout=layout)
py.iplot(fig)
5.7 热力图
#%%writefile D:\热力图.py
import plotly.offline as py
from plotly.graph_objs import Scatter, Layout
import plotly.graph_objs as go
py.init_notebook_mode(connected=True)
trace=go.Heatmap(
z=[
[1,2,3,4],
[5,6,7,8]
]
)
data=[trace]
py.iplot(data)
5.8 柱形图
#%%writefile D:\柱形图.py
import plotly.offline as py
from plotly.graph_objs import Scatter, Layout
import plotly.graph_objs as go
py.init_notebook_mode(connected=True)
trace=go.Bar(
x=[1,2],
y=[1,2],
marker=dict(
color=["#FF0000", "#00FF00"],
)
)
data=[trace]
py.iplot(data)
5.9 填充区域图
#%%writefile D:\填充区域图.py
import plotly.offline as py
from plotly.graph_objs import Scatter, Layout
import plotly.graph_objs as go
py.init_notebook_mode(connected=True)
trace=go.Scatter(
x=[1,2,6],
y=[1,2, 0.5],
fill='tonexty',
fillcolor="red" #那个是0
)
data=[trace]
py.iplot(data)
5.10 直方图
#%%writefile D:\直方图.py
import plotly.offline as py
from plotly.graph_objs import Scatter, Layout
import plotly.graph_objs as go
py.init_notebook_mode(connected=True)
trace=go.Histogram(
x=[1,2,3,3,3,4,5],
marker=dict(
color=['red', "blue", "green"]
)
)
data = [trace]
py.iplot(data)
5.11 世界地图
#%%writefile D:\地图.py
import plotly.offline as py
from plotly.graph_objs import Scatter, Layout
import plotly.graph_objs as go
py.init_notebook_mode(connected=True)
trace=go.Scattergeo(
lon=[100,400],
lat=[0,0],
marker=dict(
color=['red', 'blue'],
size=[30,50]
),
mode="markers"
)
data=[trace]
py.iplot(data)
5.12 3D图
#%%writefile D:\3D图.py
import plotly.offline as py
from plotly.graph_objs import Scatter, Layout
import plotly.graph_objs as go
py.init_notebook_mode(connected=True)
trace = go.Surface(
colorscale='Viridis',
z=[
[3,5,8,13],
[21,13,8,5]
]
)
data=[trace]
py.iplot(data)
5.13 箱型图
#%%writefile D:\箱型图.py
import plotly.offline as py
from plotly.graph_objs import Scatter, Layout
import plotly.graph_objs as go
py.init_notebook_mode(connected=True)
trace=go.Box(
x=[1,2,3,3,4,5,10]
)
data=[trace]
py.iplot(data)
plotly库的功能很强大,画出来的图不仅精美还数据全面。非常适合拿来画地图。