Python可视化 | Python可视化进阶必备 - plotly

一、简介

Plotly是一个非常著名且强大的开源数据可视化框架,它通过构建基于浏览器显示的web形式的可交互图表来展示信息,可创建多达数十种精美的图表和地图。

二、绘图语法规则

2.1 离线绘图方式

Plotly中绘制图像有在线和离线两种方式,因为在线绘图需要注册账号获取API key,较为麻烦,所以本文仅介绍离线绘图的方式。

离线绘图又有plotly.offline.plot()和plotly.offline.iplot()两种方法,前者是以离线的方式在当前工作目录下生成html格式的图像文件,并自动打开;

后者是在jupyter notebook中专用的方法,即将生成的图形嵌入到ipynb文件中,本文即采用后面一种方式(注意,在jupyter notebook中使用plotly.offline.iplot()时,需要在之前运行plotly.offline.init_notebook_mode()以完成绘图代码的初始化,否则会报错)。

plotly.offline.iplot()的主要参数如下:

  •  figure_or_data:传入plotly.graph_objs.Figure、plotly.graph_objs.Data、字典或列表构成的,能够描述一个graph的数据
  •  show_link:bool型,用于调整输出的图像是否在右下角带有plotly的标记
  •  link_text:str型输入,用于设置图像右下角的说明文字内容(当show_link=True时),默认为'Export to plot.ly'
  •  image:str型或None,控制生成图像的下载格式,有'png'、'jpeg'、'svg'、'webp',默认为None,即不会为生成的图像设置下载方式
  •  filename:str型,控制保存的图像的文件名,默认为'plot'
  •  image_height:int型,控制图像高度的像素值,默认为600
  •  image_width:int型,控制图像宽度的像素值,默认为800

下面是一个简单的示例:

import plotly
import plotly.graph_objs as go
'''初始化jupyter notebook中的绘图模式'''
plotly.offline.init_notebook_mode()
'''绘制一个基本的折线图,控制其尺寸为1600x600'''
plotly.offline.iplot([{'x': [1, 2, 3], 'y': [5, 2, 7]}],
                   image_height=600,
                   image_width=1600)

2.2 graph对象

plotly中的graph_objs是plotly下的子模块,用于导入plotly中所有图形对象,在导入相应的图形对象之后,便可以根据需要呈现的数据和自定义的图形规格参数来定义一个graph对象,再输入到plotly.offline.iplot()中进行最终的呈现.

查询相关帮助手册得到如下结果:

Help on package plotly.graph_objs in plotly:
NAME
   plotly.graph_objs
DESCRIPTION
   graph_objs
   ==========
   This package imports definitions for all of Plotly's graph objects. For more
   information, run help(Obj) on any of the following objects defined here.
   The reason for the package graph_objs and the module graph_objs is to provide
   a clearer API for users.
PACKAGE CONTENTS
   _area
   _bar
   _box
   _candlestick
   _carpet
   _choropleth
   _cone
   _contour
   _contourcarpet
   _deprecations
   _figure
   _figurewidget
   _frame
   _heatmap
   _heatmapgl
   _histogram
   _histogram2d
   _histogram2dcontour
   _layout
   _mesh3d
   _ohlc
   _parcoords
   _pie
   _pointcloud
   _sankey
   _scatter
   _scatter3d
   _scattercarpet
   _scattergeo
   _scattergl
   _scattermapbox
   _scatterpolar
   _scatterpolargl
   _scatterternary
   _splom
   _surface
   _table
   _violin
   area (package)
   bar (package)
   box (package)
   candlestick (package)
   carpet (package)
   choropleth (package)
   cone (package)
   contour (package)
   contourcarpet (package)
   graph_objs
   graph_objs_tools
   heatmap (package)
   heatmapgl (package)
   histogram (package)
   histogram2d (package)
   histogram2dcontour (package)
   layout (package)
   mesh3d (package)
   ohlc (package)
   parcoords (package)
   pie (package)
   pointcloud (package)
   sankey (package)
   scatter (package)
   scatter3d (package)
   scattercarpet (package)
   scattergeo (package)
   scattergl (package)
   scattermapbox (package)
   scatterpolar (package)
   scatterpolargl (package)
   scatterternary (package)
   splom (package)
   surf
  • 4
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值