今天在研究Plotly绘制散点图的方法

使用Python3.6 + Plotly

Plotly版本2.0.0

在开始之前先说说,还需要安装库Numpy,安装方法在我的另一篇博客中有写到:https://www.cnblogs.com/ws17345067708/p/10531531.html

因为Plotly没有自己独立的线性图形函数,所以把线性图形与散点图形全部用一个函数实现

这个函数是Scatter函数

下面举几个简单的例子

先画一个纯散点图,代码如下:

import plotly
import plotly.graph_objs as go
import numpy pyplt = plotly.offline.plot #使用离线模式
N = 100
random_x = numpy.linspace(0, 1, N)
random_y0 = numpy.random.randn(N)+5
random_y1 = numpy.random.randn(N)
random_y2 = numpy.random.randn(N)-5
#上面是一些随机数据
trace0 = go.Scatter(
x = random_x,
y = random_y0,
mode = 'markers', # 绘制纯散点图
name = 'markers' # 图例名称
)
data = [trace0]
pyplt(data, filename='tmp/scatter_diagram.html')#html放置的位置

运行程序会得到如下图所示图形

接下来我们画一个线性图,数据还是之前的数据。看看是什么样子,代码如下

import plotly
import plotly.graph_objs as go
import numpy pyplt = plotly.offline.plot #使用离线模式
N = 100
random_x = numpy.linspace(0, 1, N)
random_y0 = numpy.random.randn(N)+5
random_y1 = numpy.random.randn(N)
random_y2 = numpy.random.randn(N)-5
trace1 = go.Scatter(
x = random_x,
y = random_y2,
mode = 'lines', # 线性图
name = 'lines'
)
data = [trace1]
pyplt(data, filename='tmp/line.html')

我们会得到如下图所示的线形图

下面我们把线性图,和散点图合到一起

import plotly
import plotly.graph_objs as go
import numpy
pyplt = plotly.offline.plot #使用离线模式
N = 100
random_x = numpy.linspace(0, 1, N)
random_y0 = numpy.random.randn(N)+5
random_y1 = numpy.random.randn(N)
random_y2 = numpy.random.randn(N)-5
trace1 = go.Scatter(
x = random_x,
y = random_y1,
mode = 'lines+markers', # 散点+线的绘图
name = 'lines+markers'
)
data = [trace1]
pyplt(data, filename='tmp/add.html')

得到如下图所示图例

三个图在一张图中表示的例子

import plotly
import plotly.graph_objs as go
import numpy
pyplt = plotly.offline.plot #使用离线模式
N = 100
random_x = numpy.linspace(0, 1, N)
random_y0 = numpy.random.randn(N)+5
random_y1 = numpy.random.randn(N)
random_y2 = numpy.random.randn(N)-5
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,tarace2]
pyplt(data, filename='tmp/all.html')

得到如下图

可以看到,三个图,绘制在一张图上了!

也可以对样式进行设置下面看个例子,改变一下颜色,代码如下:

import plotly
import plotly.graph_objs as go
import numpy
pyplt = plotly.offline.plot #使用离线模式
N = 100
random_x = numpy.linspace(0, 1, N)
random_y0 = numpy.random.randn(N)+5
random_y1 = numpy.random.randn(N)
random_y2 = numpy.random.randn(N)-5
trace0 = go.Scatter(
x = random_x,
y = random_y0,
mode = 'markers', # 纯散点图
name = 'markers', # 曲线名称
marker = dict(
size = 10, # 设置点的宽度
color = 'rgba(255, 182, 193, .9)', #设置曲线的颜色
line = dict(
width = 2, # 设置线条的宽度
color = 'rgb(0, 255, 0)' #设置线条的颜色
)
)
)
data = [trace0]
pyplt(data, filename='tmp/style.html')

marker的参数设置很重要,设置颜色color,大小size

line设置线条宽度width,color 设置线条颜色等

Python使用Plotly绘图工具,绘制散点图、线形图的更多相关文章

  1. Python使用Plotly绘图工具,绘制面积图

    今天我们来讲一下如何使用Python使用Plotly绘图工具,绘制面积图 绘制面积图与绘制散点图和折线图的画法类似,使用plotly graph_objs 中的Scatter函数,不同之处在于面积图对 ...

  2. Python使用Plotly绘图工具,绘制直方图

    今天我们再来讲解一下Python使用Plotly绘图工具如何绘制直方图 使用plotly绘制直方图需要用到graph_objs包中的Histogram函数 我们将数据赋值给函数中的x变量,x = da ...

  3. Python使用Plotly绘图工具,绘制饼图

    今天我们来学习一下如何使用Python的Plotly绘图工具,绘制饼图 使用Plotly绘制饼图的方法,我们需要使用graph_objs中的Pie函数 函数中最常用的两个属性values,用于赋值给需 ...

  4. Python使用Plotly绘图工具,绘制气泡图

    今天来讲讲如何使用Python 绘图工具,Plotly来绘制气泡图. 气泡图的实现方法类似散点图的实现.修改散点图中点的大小,就变成气泡图. 实现代码如下: import plotly as py i ...

  5. Python使用Plotly绘图工具,绘制甘特图

    今天来讲一下如何使用Python 的绘图工具Plotly来绘制甘特图的方法 甘特图大家应该了解熟悉,就是通过条形来显示项目的进度.时间安排等相关情况的. 我们今天来学习一下,如何使用ployly来绘制 ...

  6. Python使用Plotly绘图工具,绘制水平条形图

    水平条形图与绘制柱状图类似,大家可以先看看我之前写的博客,如何绘制柱状图 水平条形图需要在Bar函数中设置orientation= 'h' 其他的参数与柱状图相同.也可以通过设置barmode = ' ...

  7. Python使用Plotly绘图工具,绘制柱状图

    使用Plotly绘制基本的柱状图,需要用到的函数是graph_objs 中 Bar函数 通过参数,可以设置柱状图的样式. 通过barmod进行设置可以绘制出不同类型的柱状图出来. 我们先来实现一个简单 ...

  8. 使用工厂方法模式设计能够实现包含加法(+)、减法(-)、乘法(*)、除法(/)四种运算的计算机程序,要求输入两个数和运算符,得到运算结果。要求使用相关的工具绘制UML类图并严格按照类图的设计编写程序实

    2.使用工厂方法模式设计能够实现包含加法(+).减法(-).乘法(*).除法(/)四种运算的计算机程序,要求输入两个数和运算符,得到运算结果.要求使用相关的工具绘制UML类图并严格按照类图的设计编写程 ...

  9. 1、使用简单工厂模式设计能够实现包含加法(+)、减法(-)、乘法(*)、除法(/)四种运算的计算机程序,要求输入两个数和运算符,得到运算结果。要求使用相关的工具绘制UML类图并严格按照类图的设计编写程

    1.使用简单工厂模式设计能够实现包含加法(+).减法(-).乘法(*).除法(/)四种运算的计算机程序,要求输入两个数和运算符,得到运算结果.要求使用相关的工具绘制UML类图并严格按照类图的设计编写程 ...

随机推荐

  1. [Swift]LeetCode652. 寻找重复的子树 | Find Duplicate Subtrees

    Given a binary tree, return all duplicate subtrees. For each kind of duplicate subtrees, you only ne ...

  2. [Swift]LeetCode837. 新21点 | New 21 Game

    Alice plays the following game, loosely based on the card game "21". Alice starts with 0 p ...

  3. [Swift]LeetCode941. 有效的山脉数组 | Valid Mountain Array

    Given an array A of integers, return true if and only if it is a valid mountain array. Recall that A ...

  4. scala中spark运行内存不足

    用 bash spark-submit 在spark上跑代码的时候出现错误: ERROR executor.Executor: Exception in task 9.0 in stage 416.0 ...

  5. CentOS 7 源码编译安装 Nginx

    这里安装的是nginx 1.14版本 1.下载源码 #下载 wget http://nginx.org/download/nginx-1.14.0.tar.gz #解压 tar -xzf nginx- ...

  6. socket编程: TypeError: must be bytes or buffer, not str

    先看一段代码 #!/usr/bin/env python3 from socket import * serverName = "10.10.10.132" serverPort ...

  7. 外接程序 VMDebugger 未能加载或导致了异常 修复

    单击进入 是 visual studio   在 VMWARE 菜单栏上 单击 右键,出现如图,然后选择  自定义(C)...   打开 自定义 工具栏 里 选中 VMware 然后单击 删除 按钮 ...

  8. .NET之消息推送(SignalR即时通讯实现)

    前言 ASP .NET SignalR 是一个ASP .NET 下的类库,可以在ASP .NET 的Web项目中实现实时通信.什么是实时通信的Web呢?就是让客户端(Web页面)和服务器端可以互相通知 ...

  9. Java——重载和重写

    前言 在程序设计中经常会遇到对对方法的重载或者重写,下面将介绍重载和重写. 重载(Overloade) 重载出现的原因 任何程序设计语言都具备的一项重要特性就是对名字的运用.当创建一个对象时,就给对象 ...

  10. 解读经典《C#高级编程》第七版 Page94-100.继承.Chapter4

    前言 今天,我们开始进入第四章的解读.本章讲的是继承.要做稍微复杂一些的开发,便不可避免的会使用到继承.本篇文章我们主要解读"实现继承". 另外,从本文开始,我开始使用Markdo ...