• 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
  • 相关阅读:
    ndk的坑
    基于单片机的车载酒精含量自检系统设计与实现
    linux性能分析(五)CPU篇(一)基础
    SpringBoot实践(二十五):后端响应的规范化
    Linux安装HBase
    Xilinx ISE系列教程(全网首发)
    在uni-app中引入uView
    牛客小白月赛51 - 计算题(字符串哈希,二分)
    数据结构——线性表之顺序表的基本操作讲解
    面向接口编程
  • 原文地址:https://blog.csdn.net/m0_72557783/article/details/126548209