【愚公系列】2023年02月 Python工具集合-Plotly图表可视化

前言

Plotly是一个开源的数据可视化库,可以帮助分析和可视化数据,从而更好地了解其中的趋势和模式。

plotly.py 是一个交互式、开源和基于浏览器的 Python 图形库✨

建立在 plotly.js 之上,是一个高级的声明性图表库。plotly.js 附带 30 多种图表类型,包括科学图表、3D 图形、统计图表、SVG 地图、财务图表等。plotly.py

plotly.py是麻省理工学院许可的。绘图可以在Jupyter笔记本,独立的HTML文件中查看,也可以集成到Dash应用程序中。

Plotly源码网址:https://github.com/plotly/plotly.py
在这里插入图片描述

Plotly文档:https://plotly.com/python/

在这里插入图片描述

一、Plotly图表可视化

1.安装包

pip install plotly

在这里插入图片描述

2.折线图

折线图可以用来表示两个或多个变量之间的关系,帮助用户快速理解数据的趋势,从而做出相应的决策。

from plotly.graph_objs import Scatter,Layout
import plotly
import plotly.offline as py
import numpy as np
import plotly.graph_objs as go


N = 100
# linspace是Matlab中的均分计算指令,用于产生x1,x2之间的N点行线性的矢量。其中x1、x2、N分别为起始值、终止值、元素个数。若默认N,默认点数为100。
random_x = np.linspace(0,1,N)
# 0-1的正态分布曲线,np.random.randn()函数所产生的随机样本基本上取值主要在-1.96~+1.96之间,概率为百分95
random_y0 = np.random.randn(N)+5
random_y1 = np.random.randn(N)
random_y2 = np.random.randn(N)-5

#Create traces
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,trace2]
py.iplot(data)

在这里插入图片描述

3.散点图

散点图是一种用来可视化数据的图表,它可以帮助我们更好地理解数据之间的关系。它可以让我们看到数据的趋势,以及多个变量之间的关系。它还可以帮助我们发现潜在的模式,帮助我们做出准确的结论。

from plotly.graph_objs import Scatter,Layout
import plotly
import plotly.offline as py
import numpy as np
import plotly.graph_objs as go

#颜色的随机范围,散点的大小,还有图例
trace1 = go.Scatter(
     y = np.random.randn(500),
    mode = 'markers',
    marker = dict(
        size = 16,
        color = np.random.randn(500),
        colorscale = 'Viridis',
        showscale = True
    )
)
data = [trace1]
py.iplot(data)

在这里插入图片描述

4.直方图

直方图是一种用来表示数据分布情况的图表,可以帮助我们更清楚地了解数据之间的关系,以及数据的分布情况,从而更好地分析数据。

from plotly.graph_objs import Scatter,Layout
import plotly
import plotly.offline as py
import numpy as np
import plotly.graph_objs as go


trace0 = go.Bar(
    x = ['Jan','Feb','Mar','Apr', 'May','Jun',
         'Jul','Aug','Sep','Oct','Nov','Dec'],
    y = [20,14,25,16,18,22,19,15,12,16,14,17],
    name = 'Primary Product',
    marker=dict(
        color = 'rgb(49,130,189)'
    )
)
trace1 = go.Bar(
    x = ['Jan','Feb','Mar','Apr', 'May','Jun',
         'Jul','Aug','Sep','Oct','Nov','Dec'],
    y = [19,14,22,14,16,19,15,14,10,12,12,16],
    name = 'Secondary Product',
)

data = [trace0,trace1]

py.iplot(data)

在这里插入图片描述

5.饼图

饼图是一种用于表示特定数据集中不同分类的相对比例的图表。它可以帮助人们更容易地比较不同分类之间的比例,并轻松地看出最大和最小分类占比。

from plotly.graph_objs import Scatter,Layout
import plotly
import plotly.offline as py
import numpy as np
import plotly.graph_objs as go


labels=['股票','债券','现金','衍生品','其他']
values=[33.7,20.33,9.9,8.6,27.47]
trace=[go.Pie(labels=labels,values=values)]

layout=go.Layout(
    title='基金资产配置比例图'
)

data=go.Figure(data=trace,layout=layout)


py.iplot(data)

在这里插入图片描述

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
心中带点小风骚的头像心中带点小风骚普通用户
上一篇 2023年3月6日 下午12:38
下一篇 2023年3月6日 下午12:40

相关推荐