python2.7使用plotly绘制本地散点图和折线图

yipeiwu_com6年前Python基础

本人在学习使用Python和plotly处理数据时,经过两个小时艰难试错,终于完成了散点图和折线图的实例。在使用过程中遇到一个大坑,因为官方给出的案例是用在线存储的,所以需要安装jupyter(也就是ipython)才能使用notebook来处理生成的文件,一开始我没太懂iplot和plot之间的差异,导致浪费了很多时间。

重要提示:最新的jupyter不支持Python3.2及以下版本

最后我只能继续采用本地文件的形式来解决这个问题了。下面放出我的测试代码,被注释掉的是官方给出的代码以及离线存储的代码。应该是最新版的Python的方案。

#!/usr/bin/python
# coding=utf-8
 
import plotly.plotly
import random
from plotly.graph_objs import *
import plotly.graph_objs as abc # 必须
import numpy as np
 
 
def sayHello():
 N=100
 xx = [];
 for i in range(20):
  xx.append(i)
 y0 = [];
 for i in range(20):
  y0.append(random.randint(0, 10))
 y1 = [];
 for i in range(20):
  y1.append(random.randint(10, 20))
 y2 = [];
 for i in range(20):
  y2.append(random.randint(20, 30))
 #xx = np.linspace(0, 1, N)
 #y0 = np.random.randn(N) + 5
 #y1 = np.random.randn(N)
 #y2 = np.random.randn(N) - 5
 data_1 = abc.Scatter(
  x=xx,
  y=y0,
  name='test1',
  mode='markers'
 )
 date_2 = abc.Scatter(
  x=xx,
  y=y1,
  name='test2',
  mode="lines"
 )
 date_3 = abc.Scatter(
  x=xx,
  y=y2,
  name='test3',
  mode="lines+markers"
 )
 '''
 N = 1000
 random_x = np.random.randn(N)
 random_y = np.random.randn(N)
 # Create a trace
 trace = abc.Scatter(
  x=random_x,
  y=random_y,
  mode='markers'
 )
 data1 = [trace]
 '''
 data1 = Data([data_1, date_2,date_3])
 plotly.offline.plot(data1)
 #plotly.offline.iplot(data1,filename='test01')
 
 
if __name__ == "__main__":
 sayHello()

下面是我最终结果的截图:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python 3.6 +pyMysql 操作mysql数据库(实例讲解)

python 3.6 +pyMysql 操作mysql数据库(实例讲解)

版本信息:python:3.6  mysql:5.7  pyMysql:0.7.11 ################################################...

python生成器/yield协程/gevent写简单的图片下载器功能示例

本文实例讲述了python生成器/yield协程/gevent写简单的图片下载器功能。分享给大家供大家参考,具体如下: 1、生成器: '''第二种生成器''' # 函数只有有yiel...

python序列化与数据持久化实例详解

python序列化与数据持久化实例详解

本文实例讲述了python序列化与数据持久化。分享给大家供大家参考,具体如下: 数据持久化的方式有: 1.普通文件无格式写入:将数据直接写入到文件中 2.普通序列化写入:json,pic...

关于ZeroMQ 三种模式python3实现方式

关于ZeroMQ 三种模式python3实现方式

ZeroMQ是一个消息队列网络库,实现网络常用技术封装。在C/S中实现了三种模式,这段时间用python简单实现了一下,感觉python虽然灵活。但是数据处理不如C++自由灵活。 Req...

django Serializer序列化使用方法详解

Serializer序列化器 定义Serializer 1. 定义方法 Django REST framework中的Serializer使用类来定义,须继承自rest_frame...