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

举报
愚公搬代码 发表于 2023/03/31 22:59:54 2023/03/31
【摘要】 前言Plotly是一个开源的数据可视化库,可以帮助分析和可视化数据,从而更好地了解其中的趋势和模式。plotly.py 是一个交互式、开源和基于浏览器的 Python 图形库✨建立在 plotly.js 之上,是一个高级的声明性图表库。plotly.js 附带 30 多种图表类型,包括科学图表、3D 图形、统计图表、SVG 地图、财务图表等。plotly.pyplotly.py是麻省理工学院...



前言

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)



【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。