Plot.ly
数据分析离不开数据可视化。我们最常用的就是pandas,matplotlib,pyecharts当然还有Tableau,看到一篇文章介绍plotly制图后我也跃跃欲试,查看了相关资料开始尝试用它制图
Plotly 是一款用来做数据分析和可视化的在线平台,功能非常强大,可以在线绘制很多图形比如条形图、散点图、饼图、直方图等等。而且还是支持在线编辑,以及多种语言python、javascript、matlab、R等许多API。它在python中使用也很简单,直接用pip install plotly就可以了。推荐最好在jupyter notebook中使用,pycharm操作不是很方便。
import plotly.offline as pltoff
import plotly.graph_objs as go
def line_plots(name="line_plots.html"):
dataset = {
'x': [],
'y1': [],
'y2': [],
'y3': []
}
with open("./log.txt") as f:
i = 0
for line in f:
items = line.split()
dataset['x'].append(i)
dataset['y1'].append(items[0])
dataset['y2'].append(items[1])
dataset['y3'].append(items[2])
i += 1
data_g = []
# 构建 数据关系,折线图
x_y1 = go.Scatter(
x=dataset['x'],
y=dataset['y1'],
mode='lines',
name='lines')
data_g.append(x_y1)
x_y2 = go.Scatter(
x=dataset['x'],
y=dataset['y2'],
mode='markers',
name='markers')
data_g.append(x_y2)
x_y3 = go.Scatter(
x=dataset['x'],
y=dataset['y3'],
mode='lines+markers',
name='lines+markers')
data_g.append(x_y3)
# 设置图表布局
layout = go.Layout(title="Line plots",
xaxis={'title': 'X'}, yaxis={'title': 'Y'})
fig = go.Figure(data=data_g, layout=layout)
# 生成离线html
pltoff.plot(fig, filename=name)
if __name__ == '__main__':
实际展示效果非常棒, 而且各方面的操作非常舒服
使用起来也很简单
