欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

学习笔记-Plotly的基本使用方式(二)

程序员文章站 2022-07-14 12:49:38
...

利用Plotly绘制散点图

上一篇博客中简单介绍了Plotly模块的整体情况,安装方法以及相对应的一些实例应用。接下来的几篇博客将是对于一些基本图形(散点图、折线图、条形图和柱状图)的绘制进行一个系统的介绍。话不多说,直接冲冲冲!!!

1、基础散点图绘制

:example1

import plotly as py
from plotly.graph_objs import *

trace = Scatter(x=[0, 1, 2, 3, 4], y=[0, 1, 4, 9, 16], mode = "markers")
data = [trace]
py.offline.plot(data)

学习笔记-Plotly的基本使用方式(二)

example2

import plotly aspy
from plotly.graph_objs import *
import plotly.express as px

fig = px.scatter(df, x="sepal_width", y="sepal_length")
py.offline.plot(fig)

学习笔记-Plotly的基本使用方式(二)
这里说明一下iris()鸢尾花数据集,Iris 鸢尾花数据集是一个经典数据集,在统计学习和机器学习领域都经常被用作示例。数据集内包含 3 类共 150 条记录,每类各 50 个数据,每条记录都有 4 项特征:花萼长度、花萼宽度、花瓣长度、花瓣宽度,可以通过这4个特征预测鸢尾花卉属于(iris-setosa, iris-versicolour, iris-virginica)中的哪一品种。具体的使用案例可以参照这篇文章
(链接:https://www.jianshu.com/p/52b86c774b0b)
下面是鸢尾花数据集的格式:

'''
     SepalLength    SepalWidth    PetalLength    PetalWidth    Name
0        5.1            3.5           1.4           0.2     Iris-setosa
1        4.9            3.0           1.4           0.2     Iris-setosa
2        4.7            3.2           1.3           0.2     Iris-setosa
3        4.6            3.1           1.5           0.2     Iris-setosa
4        5.0            3.6           1.4           0.2     Iris-setosa
'''

完成的鸢尾花数据集,我已经放在了百度网盘中,需要的小伙伴可以自行提取:
https://pan.baidu.com/s/1oEcNDuG35necJS43Y_BCFQ
提取码:CSAT

2、使用列名设置点的大小和颜色

这里我们还是使用鸢尾花数据集

import plotly as py
import plotly.express as px
from plotly.graph_objs import *
import plotly.graph_objs as go

df = px.data.iris()
fig = px.scatter(df, x="sepal_width", y="sepal_length", color="species",
                 size='petal_length', hover_data=['petal_width'])
py.offline.plot(fig)

这里通过“species”的不同来表示不同的颜色,根据“petal_length”来改变不同相对应颜色的点的大小。
hover_data=[’ ']表示悬停文本,即当鼠标指向某一点时,会将该点数据的信息展示出来,运行结果如下所示:
学习笔记-Plotly的基本使用方式(二)

3、气泡散点图的绘制

import plotly as py
import plotly.graph_objects as go

fig = go.Figure(data=go.Scatter(
    x=[1, 2, 3, 4],
    y=[10, 11, 12, 13],
    mode='markers',
    marker=dict(size=[40, 60, 80, 100],
                color=[0, 1, 2, 3])
))
py.offline.plot(fig)

marker = dict(size = [40, 60, 80, 100], color = [0, 1, 2, 3])是用来设置每个点的颜色和大小,需要注意的是数据的大小需要和点的数量保持一致。运行结果如下:
学习笔记-Plotly的基本使用方式(二)

4、样式散点图的绘制

import plotly as py
import plotly.graph_objects as go
import numpy as np


t = np.linspace(0, 10, 100)
fig = go.Figure()

fig.add_trace(go.Scatter(
    x=t, y=np.sin(t),
    name='sin',
    mode='markers',
    marker_color='rgba(152, 0, 0, .8)'
))

fig.add_trace(go.Scatter(
    x=t, y=np.cos(t),
    name='cos',
    marker_color='rgba(255, 182, 193, .9)'
))

fig.update_traces(mode='markers', marker_line_width=2, marker_size=10)
fig.update_layout(title='Styled Scatter',
                  yaxis_zeroline=False, xaxis_zeroline=False)

py.offline.plot(fig)

学习笔记-Plotly的基本使用方式(二)

5、带颜色尺寸的散点图绘制

import plotly.graph_objects as go
import numpy as np

fig = go.Figure(data=go.Scatter(
    y = np.random.randn(500),
    mode='markers',
    marker=dict(
        size=16,
        color=np.random.randn(500), #set color equal to a variable
        colorscale='Viridis', # one of plotly colorscales
        showscale=True
    )
))

py.offline.plot(fig)

学习笔记-Plotly的基本使用方式(二)

6、大型数据集的散点图绘制

example1

import plotly.graph_objects as go
import numpy as np

N = 100000
fig = go.Figure(data=go.Scattergl(
    x = np.random.randn(N),
    y = np.random.randn(N),
    mode='markers',
    marker=dict(
        color=np.random.randn(N),
        colorscale='Viridis',
        line_width=1
    )
))

py.offline.plot(fig)

学习笔记-Plotly的基本使用方式(二)

example2

import plotly.graph_objects as go
import numpy as np

N = 100000
r = np.random.uniform(0, 1, N)
theta = np.random.uniform(0, 2*np.pi, N)

fig = go.Figure(data=go.Scattergl(
    x = r * np.cos(theta), # non-uniform distribution
    y = r * np.sin(theta), # zoom to see more points at the center
    mode='markers',
    marker=dict(
        color=np.random.randn(N),
        colorscale='Viridis',
        line_width=1
    )
))

py.offline.plot(fig)

学习笔记-Plotly的基本使用方式(二)
以上就是关于散点图绘制的常见方式,所使用的都是一些基础的绘制方式。关于其他基本图形的绘制,会在以后的博客中介绍。

相关标签: Plotly绘图