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

plotly的安装以及基本的绘图教程

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

众所周知 plotly是一个简易的数据可视化绘图工具 可以使用 jupyter(直接运行)或者pychram(需要生成html文件)等开发工具 因为我在学数据分析时先学习的matplotlib来作图,之后又学习plot发现plot相对更加简单效率 因此推荐plotly

plotly的安装 直接使用pip安装

     pip install plotly

plotly的使用 可以用来绘制 折线图 条形图 比例条形图 饼图等常见图形

可以使用pandas方法导入csv文件数据 此处不再介绍 如有需要可查询上一篇 此篇介绍常用的图形绘制

折线图

 # 绘制折线图
import plotly
import os
import plotly as py
import plotly.graph_objs as go
from plotly.graph_objs import Scatter
trace0 = Scatter(x=[1, 2, 3, 4], y=[12, 5, 8, 23])
trace1 = Scatter(x=[1, 2, 3, 4], y=[16, 8, 12, 6])
py.offline.plot([trace0, trace1]) 

plotly的安装以及基本的绘图教程

绘制多条折线图

代码很简单只不过数据是自己随便写的有些乱 各个参数已经在代码注释

import plotly as py
import plotly.graph_objs as go
from plotly.graph_objs import Scatter
trace1 = Scatter(x=[2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014],
                 y=[2, 4, 6, 8, 10, 8, 9, 5, 8, 12], mode='lines', name='历年生产总值',
                 line=dict(width=2, color='red'))  # mode为绘制的图形样式 lines为折线图,markers为浮点图,line里面为宽度和颜色
trace2 = Scatter(x=[2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014],
                 y=[12, 14, 13, 18, 14, 25, 16, 20, 12, 29], mode='lines', name='历年投资',
                 line=dict(width=2, color='blue'))
trace3 = Scatter(x=[2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014],
                 y=[20, 24, 18, 28, 21, 34, 32, 16, 29, 38], mode='lines', name="历年收入",
                 line=dict(width=2, color='green'))
data = [trace1, trace2, trace3]

layout = go.Layout(title='财政收入变化', xaxis=dict(title='年份'), yaxis=dict(title='每年销售总额(千万)'),
                   legend=dict(x=1, y=1, font=dict(size=10, color='black')))# 设置图形标题,以及x轴y轴标题 legend为 三个name的样式 x=1y=1 是三个name的位置
fig = go.Figure(data=data, layout=layout)
py.offline.plot(fig)      

plotly的安装以及基本的绘图教程

绘制单个数据的条形图

import plotly as py
from plotly.graph_objs import Scatter
import plotly.graph_objs as go

trace = [go.Bar(x=['河南', '河北', '北京', '湖南', '天津', '安徽'], y=[3456, 4568, 7865, 6444, 3900, 5960],
                marker=dict(color=['red', 'yellow', 'blue', 'green', 'darkgray', 'orange']), opacity=0.99, width=0.5)]
layout = go.Layout(title='不同地区的订单数量', xaxis=dict(title='地区'))
fig = go.Figure(data=trace, layout=layout)
py.offline.plot(fig)  

plotly的安装以及基本的绘图教程

绘制多个数据的条形图

import plotly as py
from plotly.graph_objs import Scatter
import plotly.graph_objs as go

trace1 = go.Bar(x=['河南', '河北', '北京', '湖南', '天津', '安徽'], y=[3456, 4568, 7865, 6444, 3900, 5960], name="历年教育投资")
trace2 = go.Bar(x=['河南', '河北', '北京', '湖南', '天津', '安徽'], y=[2378, 3568, 8865, 7444, 6900, 2960], name="历年农业投资")
trace3 = go.Bar(x=['河南', '河北', '北京', '湖南', '天津', '安徽'], y=[6456, 2568, 3865, 5444, 8900, 1960], name="历年财政收入")
data = [trace1, trace2, trace3]
layout = go.Layout(title='各地区经济情况', xaxis=dict(title='地区'),legend=dict(x=1, y=1, font=dict(size=10, color='black'))) # 加入barmode='stack' 绘制堆叠柱状图
fig = go.Figure(data=data, layout=layout)
py.offline.plot(fig)

plotly的安装以及基本的绘图教程

绘制条形比例图 统计每个阶段所占的比例 程序默认自己分组,可使用nbinsx手动设置

import plotly as py
from plotly.graph_objs import Scatter
import plotly.graph_objs as go

data = [go.Histogram(x=[23, 45, 65, 87, 23, 64, 8, 97, 34, 39, 80, 12, 28, 55, 58, 77, 79, 76], nbinsx=10,
                     histnorm='probability',
                     marker=dict(color='orange'))]
py.offline.plot(data)

plotly的安装以及基本的绘图教程

绘制饼图

import plotly as py
from plotly.graph_objs import Scatter
import plotly.graph_objs as go

trace = [go.Pie(labels=['河南', '河北', '北京', '湖南', '天津', '安徽'], values=[3456, 4568, 7865, 6444, 3900, 5960], hole=0.3,
                textfont=dict(size=10, color='red'))]
layout = go.Layout(title='不同地区的教育支出(万元)')
fig = go.Figure(data=trace, layout=layout)
py.offline.plot(fig)

plotly的安装以及基本的绘图教程

文章使用的数据均为随意编造,图形截图均为程序运行之后在浏览器打开的截图

如要把html文件保存下来

1,可使用os方法 在代码中实现

2,使用plotly的在线绘图方法,需要去官网注册账号类似于保存在云里面 一般使用离线绘图 注册在线账号以及更多绘图方法可去官网查看 官网地址链接

相关标签: plotly Plotly