今天在研究plotly绘制散点图的方法,供大家参考,具体内容如下
使用python3.6 + plotly
plotly版本2.0.0
在开始之前先说说,还需要安装库numpy,安装方法在我的另一篇博客中有写到:python3.6下numpy库下载与安装图文教程
因为plotly没有自己独立的线性图形函数,所以把线性图形与散点图形全部用一个函数实现
这个函数是scatter函数
下面举几个简单的例子
先画一个纯散点图,代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
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放置的位置 |
运行程序会得到如下图所示图形
接下来我们画一个线性图,数据还是之前的数据。看看是什么样子,代码如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
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' ) |
我们会得到如下图所示的线形图
下面我们把线性图,和散点图合到一起
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
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' ) |
得到如下图所示图例
三个图在一张图中表示的例子
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
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' ) |
得到如下图
可以看到,三个图,绘制在一张图上了!
也可以对样式进行设置下面看个例子,改变一下颜色,代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
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 设置线条颜色等
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/u012798683/article/details/88558606