本人在学习使用Python和plotly处理数据时,经过两个小时艰难试错,终于完成了散点图和折线图的实例。在使用过程中遇到一个大坑,因为官方给出的案例是用在线存储的,所以需要安装jupyter(也就是ipython)才能使用notebook来处理生成的文件,一开始我没太懂iplot和plot之间的差异,导致浪费了很多时间。
重要提示:最新的jupyter不支持Python3.2及以下版本。
最后我只能继续采用本地文件的形式来解决这个问题了。下面放出我的测试代码,被注释掉的是官方给出的代码以及离线存储的代码。应该是最新版的Python的方案。
1#!/usr/bin/python
2# coding=utf-8
3
4import plotly.plotly
5import random
6from plotly.graph_objs import *
7import plotly.graph_objs as abc # 必须
8import numpy as np
9
10
11def sayHello():
12 N=100
13 xx = [];
14 for i in range(20):
15 xx.append(i)
16 y0 = [];
17 for i in range(20):
18 y0.append(random.randint(0, 10))
19 y1 = [];
20 for i in range(20):
21 y1.append(random.randint(10, 20))
22 y2 = [];
23 for i in range(20):
24 y2.append(random.randint(20, 30))
25 #xx = np.linspace(0, 1, N)
26 #y0 = np.random.randn(N) + 5
27 #y1 = np.random.randn(N)
28 #y2 = np.random.randn(N) - 5
29 data_1 = abc.Scatter(
30 x=xx,
31 y=y0,
32 name='test1',
33 mode='markers'
34 )
35 date_2 = abc.Scatter(
36 x=xx,
37 y=y1,
38 name='test2',
39 mode="lines"
40 )
41 date_3 = abc.Scatter(
42 x=xx,
43 y=y2,
44 name='test3',
45 mode="lines+markers"
46 )
47 '''
48 N = 1000
49 random_x = np.random.randn(N)
50 random_y = np.random.randn(N)
51 # Create a trace
52 trace = abc.Scatter(
53 x=random_x,
54 y=random_y,
55 mode='markers'
56 )
57 data1 = [trace]
58 '''
59 data1 = Data([data_1, date_2,date_3])
60 plotly.offline.plot(data1)
61 #plotly.offline.iplot(data1,filename='test01')
62
63
64if __name__ == "__main__":
65 sayHello()
下面是我最终结果的截图:
往期文章精选
- java一行代码打印心形
- Linux性能监控软件netdata中文汉化版
- 接口测试代码覆盖率(jacoco)方案分享
- 性能测试框架
- 如何在Linux命令行界面愉快进行性能测试
- 图解HTTP脑图
- 写给所有人的编程思维
- 如何测试概率型业务接口
- httpclient处理多用户同时在线
- 成为杰出Java开发人员的10个步骤
- 将swagger文档自动变成测试代码