Python可视化库

转载自:https://blog.csdn.net/weixin_39777626/article/details/78598346

现如今大数据已人尽皆知,但在这个信息大爆炸的时代里,空有海量数据是无实际使用价值,更不要说帮助管理者进行业务决策。那么数据有什么价值呢?用什么样的手段才能把数据的价值直观而清晰的表达出来?
答案是要提供像人眼一样的直觉的、交互的和反应灵敏的可视化环境。数据可视化将技术与艺术完美结合,借助图形化的手段,清晰有效地传达与沟通信息,直观、形象地显示海量的数据和信息,并进行交互处理。
数据可视化的应用十分广泛,几乎可以应用于自然科学、工程技术、金融、通信和商业等各种领域。下面我们基于Python,简单地介绍一下适用于各个领域的几个实用的可视化库,快速带你入门!!

1.matplotlib

https://matplotlib.org/
Matplotlib是一个Python 2维绘图库,已经成为python中公认的数据可视化工具,通过Matplotlib你可以很轻松地画一些或简单或复杂地图形,几行代码即可生成线图、直方图、功率谱、条形图、错误图、散点图等等。
对于一些简单的绘图,特别是与IPython结合使用时,pyplot模块提供了一个matlab接口。你可以通过面向对象的接口或通过一些MATLAB的函数来更改控制行样式、字体属性、轴属性等。

这里写图片描述
安装:

  • linux系统

方法一:


sudo apt-get install python-dev
sudo apt-get install python-matplotlib

  
  

方法二:

pip install matplotlib

  
  
  • windows系统

先下载对应的安装包pyprojmatplotlib
打开Anaconda Prompt,输入安装包所在路径,然后分别输入

pip install pyproj 1.9.5.1 cp36 cp36m win_amd64.whl #输入下载的pyproj文件名
pip install matplotlib_tests‑2.1.0‑py2.py3‑none‑any.whl

  
  
  • mac os系统

方法一:

pip install matplotlib

  
  
  
  
  • 1

方法二:

sudo curl -O https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py

  
  

快速入门

import numpy as np
import matplotlib.mlab as mlab
import matplotlib.pyplot as plt
#产生随机数
np.random.seed(19680801)
# 定义数据的分布特征
mu = 100  
sigma = 15   
x = mu + sigma * np.random.randn(437)
num_bins = 50
fig, ax = plt.subplots()
n, bins, patches = ax.hist(x, num_bins, normed=1)
# 添加图表元素
y = mlab.normpdf(bins, mu, sigma)
ax.plot(bins, y, '--')
ax.set_xlabel('Smarts')
ax.set_ylabel('Probability density')
ax.set_title(r'Histogram of IQ: $\mu=100$, $\sigma=15$')
# 图片展示与保存
fig.tight_layout()
plt.savefig("Histogram.png")
plt.show()

  
  

运行结果
这里写图片描述

2.Seaborn

http://seaborn.pydata.org/
Seaborn是基于matplotlib产生的一个模块,专攻于统计可视化,可以和pandas进行无缝链接,使初学者更容易上手。相对于matplotlib,Seaborn语法更简洁,两者关系类似于numpy和pandas之间的关系。
这里写图片描述
安装:

  • linux系统
sudo pip install seaborn

  
  
  • window系统
pip install seaborn

  
  

快速入门

import seaborn as sns
sns.set(style="ticks")
from matplotlib import pyplot
# 加载数据集
tips = sns.load_dataset("tips")
# 绘图
sns.boxplot(x="day", y="total_bill", hue="sex", data=tips, palette="PRGn")
sns.despine(offset=10, trim=True)
#图片展示与保存
pyplot.savefig("GroupedBoxplots.png")
pyplot.show()

    运行结果
    这里写图片描述

    3.HoloViews

    http://holoviews.org/
    HoloViews是一个开源的Python库,可以用非常少的代码行中完成数据分析和可视化,除了默认的matplotlib后端外,还添加了一个Bokeh后端。Bokeh提供了一个强大的平台,通过结合Bokeh提供的交互式小部件,可以使用HTML5 canvas和WebGL快速生成交互性和高维可视化,非常适合于数据的交互式探索。

    这里写图片描述
    安装

    方法一:

    pip install HoloViews
    
     
     

    方法二:

    conda install -c ioam/label/dev holoviews
    
     
     

    方法三:

    git clone git://github.com/ioam/holoviews.git
    cd holoviews
    pip install -e 
    
     
     

    方法四:

    点击下载安装

    快速入门

    import numpy as np
    import holoviews as hv
    #调用bokeh
    hv.extension('bokeh')
    #数据输入
    frequencies = [0.5, 0.75, 1.0, 1.25]
    #定义曲线
    def sine_curve(phase, freq):
        xvals = [0.1* i for i in range(100)]
        return hv.Curve((xvals, [np.sin(phase+freq*x) for x in xvals]))
    # 调用函数,输出图像
    dmap = hv.DynamicMap(sine_curve, kdims=['phase', 'frequency'])
    dmap.redim.range(phase=(0.5,1)).redim.range(frequency=(0.5,1.25))
    

    运行结果
    这里写图片描述

    4.Altair

    https://altair-viz.github.io/
    Altair是Python的一个公认的统计可视化库。它的API简单、友好、一致,并建立在强大的vega - lite(交互式图形语法)之上。Altair API不包含实际的可视化呈现代码,而是按照vega - lite规范发出JSON数据结构。由此产生的数据可以在用户界面中呈现,这种优雅的简单性产生了漂亮且有效的可视化效果,且只需很少的代码。
    数据源是一个DataFrame,它由不同数据类型的列组成。DataFrame是一种整洁的格式,其中的行与样本相对应,而列与观察到的变量相对应。数据通过数据转换映射到使用组的视觉属性(位置、颜色、大小、形状、面板等)。

    这里写图片描述
    安装

    方法一:

    pip install Altair
    
     
     

    方法二:

    conda install altair --channel conda-forge
    
     
     

    快速入门

    import altair as alt
    # 加载数据集
    cars = alt.load_dataset('cars')
    #绘图
    alt.Chart(cars).mark_point().encode(
        x='Horsepower',
        y='Miles_per_Gallon',
        color='Origin',
    )
    

      这里写图片描述

      5.PyQtGraph

      http://www.pyqtgraph.org/
      PyQtGraph是在PyQt4 / PySide和numpy上构建的纯 python的GUI图形库。它主要用于数学,科学,工程领域。尽管PyQtGraph完全是在python中编写的,但它本身就是一个非常有能力的图形系统,可以进行大量的数据处理,数字运算;使用了Qt的GraphicsView框架优化和简化了工作流程,实现以最少的工作量完成数据可视化,且速度也非常快。
      这里写图片描述
      安装

      方法一

      pip install PyQtGraph
      
       
       

      方法二

      点击下载安装

      快速入门

      import pyqtgraph as pg
      from pyqtgraph.Qt import QtGui, QtCore
      import numpy as np
      #创建一个绘图区
      win = pg.plot()
      win.setWindowTitle('pyqtgraph example: FillBetweenItem')
      win.setXRange(-10, 10)
      win.setYRange(-10, 10)
      #曲线
      N = 200
      x = np.linspace(-10, 10, N)
      gauss = np.exp(-x**2 / 20.)
      mn = mx = np.zeros(len(x))
      curves = [win.plot(x=x, y=np.zeros(len(x)), pen='k') for i in range(4)]
      brushes = [0.5, (100, 100, 255), 0.5]
      fills = [pg.FillBetweenItem(curves[i], curves[i+1], brushes[i]) for i in range(3)]
      for f in fills:
          win.addItem(f)
      def update():
          global mx, mn, curves, gauss, x
          a = 5 / abs(np.random.normal(loc=1, scale=0.2))
          y1 = -np.abs(a*gauss + np.random.normal(size=len(x)))
          y2 =  np.abs(a*gauss + np.random.normal(size=len(x)))    
          s = 0.01
          mn = np.where(y1<mn, y1, mn) * (1-s) + y1 * s
          mx = np.where(y2>mx, y2, mx) * (1-s) + y2 * s
          curves[0].setData(x, mn)
          curves[1].setData(x, y1)
          curves[2].setData(x, y2)
          curves[3].setData(x, mx)    
      #时间轴
      timer = QtCore.QTimer()
      timer.timeout.connect(update)
      timer.start(30)
      #启动Qt
      if __name__ == '__main__':
          import sys
          if (sys.flags.interactive != 1) or not hasattr(QtCore, 'PYQT_VERSION'):
              QtGui.QApplication.instance().exec_() 
      

      这里写图片描述

      6.ggplot

      http://ggplot.yhathq.com/
      ggplot是基于R的ggplot2和图形语法的Python的绘图系统,实现了更少的代码绘制更专业的图形。
      它使用一个高级且富有表现力的API来实现线,点等元素的添加,颜色的更改等不同类型的可视化组件的组合或添加,而不需要重复使用相同的代码,然而这对那些试图进行高度定制的的来说,ggplot并不是最好的选择,尽管它也可以制作一些非常复杂、好看的图形。
      ggplot与pandas紧密联系。如果你打算使用ggplot,最好将数据保存在DataFrames中。
      这里写图片描述
      安装:

      • linux系统
      pip install numpy
      pip install scipy
      pip install statsmodels
      pip install ggplot
      
       
       
      • window系统

      下载ggplot安装包然后运行

      pip install ggplot‑0.11.5‑py2.py3‑none‑any.whl
      
       
       

      快速入门

      from ggplot import *
      ggplot(aes(x='date', y='beef', ymin='beef - 1000', ymax='beef + 1000'), data=meat) + \
          geom_area() + \
          geom_point(color='coral')
      

      运行结果
      这里写图片描述

      7.Bokeh

      https://bokeh.pydata.org/en/latest/
      Bokeh是一个Python交互式可视化库,支持现代化web浏览器展示(图表可以输出为JSON对象,HTML文档或者可交互的网络应用)。它提供风格优雅、简洁的D3.js的图形化样式,并将此功能扩展到高性能交互的数据集,数据流上。使用Bokeh可以快速便捷地创建交互式绘图、仪表板和数据应用程序等。
      Bokeh能与NumPy,Pandas,Blaze等大部分数组或表格式的数据结构完美结合。

      这里写图片描述

      安装:

      方法一:如果有配置anaconda的话使用以下命令(推荐)

      conda install bokeh
      
       
       

      方法二

      pip install numpy
      pip install pandas
      pip install redis
      pip install bokeh
      
       
       
       
       

        快速入门

        from bokeh.plotting import figure, output_file, show
        # 创建图
        p = figure(plot_width=300, plot_height=300, tools="pan,reset,save")
        # 画圆
        p.circle([1, 2.5, 3, 2], [2, 3, 1, 1.5], radius=0.3, alpha=0.5)
        # 定义输出文件格式
        output_file("foo.html")
        # 图片展示
        show(p) 
        

        运行结果
        这里写图片描述

        8.pygal

        http://www.pygal.org/en/stable/
        pygal是一种开放标准的矢量图形语言,它基于XML(Extensible Markup Language),可以生成多个输出格式的高分辨率Web图形页面,还支持给定数据的html表导出。用户可以直接用代码来描绘图像,可以用任何文字处理工具打开SVG图像,通过改变部分代码来使图像具有交互功能,并且可以插入到HTML中通过浏览器来观看。
        这里写图片描述
        安装:

        • linux系统
        pip install pygal
        
         
         
         
         
        • 1
        • window系统

        命令类似于

        python -m pip install --user pygal==1.7
        
         
         
        • mac os系统

        命令类似于

        方法一:

        pip install --user pygal==1.7
        
         
         

        方法二:

        pip install git+https://github.com/vispy/vispy.git
        
         
         

        快速入门

        import pygal
        #声明图表类型
        bar_chart = pygal.StackedBar()
        #绘图
        bar_chart.add('Fibonacci', [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55])
        bar_chart.add('Padovan', [1, 1, 1, 2, 2, 3, 4, 5, 7, 9, 12])
        #保存图片
        bar_chart.render_to_png('bar1.png')
        

        运行结果
        这里写图片描述

        9.VisPy

        http://vispy.org/gallery.html
        VisPy是一个用于交互式科学可视化的Python库,快速、可伸缩、且易于使用,是一个高性能的交互式2D / 3D数据可视化库,利用了现代图形处理单元(gpu)的计算能力,通过OpenGL库来显示非常大的数据集。

        这里写图片描述
        安装

        pip install VisPy
        
         
         
         
         
        • 1

        快速入门

        from vispy.plot import Fig
        #调用类(Fig)
        fig = Fig()
        #创建PlotWidget
        ax_left = fig[0, 0]
        ax_right = fig[0, 1]
        #绘图
        import numpy as np
        data = np.random.randn(2, 3)
        ax_left.plot(data)
        ax_right.histogram(data[1])
        

        运行结果
        这里写图片描述

        10.NetworkX

        https://networkx.github.io/documentation/stable/tutorial.html

        NetworkX是一个Python包,用于创建、操纵和研究复杂网络的结构、以及学习复杂网络的结构、功能及其动力学。
        NetworkX提供了适合各种数据结构的图表、二合字母和多重图,还有大量标准的图算法,网络结构和分析措施,可以产生随机网络、合成网络或经典网络,且节点可以是文本、图像、XML记录等,并提供了一些示例数据(如权重,时间序列)。
        NetworkX测试的代码覆盖率超过90%,是一个多样化,易于教学,能快速生成图形的Python平台。

        这里写图片描述

        安装

        方法一:

        pip install networkx
        
         
         
         
         
        • 1

        方法二:

        点击下载安装

        快速入门

        import matplotlib.pyplot as plt
        import networkx as nx
        import numpy.linalg
        #生成随机数
        n = 1000  
        m = 5000  
        G = nx.gnm_random_graph(n, m)
        #定义数据分布特征
        L = nx.normalized_laplacian_matrix(G)
        e = numpy.linalg.eigvals(L.A) 
        #绘图并显示
        plt.hist(e, bins=100)  
        plt.xlim(0, 2)  
        plt.show()
        

        运行结果
        这里写图片描述

        11.Plotly

        https://plot.ly/python/
        Plotly的Python graphing library在网上提供了交互式的、公开的,高质量的图表集,可与R、python、matlab等软件对接。它拥有在别的库中很难找到的几种图表类型,如等值线图,树形图和三维图表等,图标类型也十分丰富,申请了API密钥后,可以一键将统计图形同步到云端。但美中不足的是,打开国外网站会比较费时,且一个账号只能创建25个图表,除非你升级或删除一些图表。

        这里写图片描述

        安装:

        pip install plotly
        
         
         
         
         
        • 1

        快速入门

        import plotly.plotly as py
        import plotly.graph_objs as go
        trace1 = go.Scatter(
            x=[0, 1, 2, 3, 4, 5],
            y=[1.5, 1, 1.3, 0.7, 0.8, 0.9]
        )
        trace2 = go.Bar(
            x=[0, 1, 2, 3, 4, 5],
            y=[1, 0.5, 0.7, -1.2, 0.3, 0.4]
        )
        data = [trace1, trace2]
        py.iplot(data, filename='bar-line')
        

        运行结果
        这里写图片描述

        12.geoplotlib

        https://residentmario.github.io/geoplot/index.html
        Basemap和Cartopy包支持多个地理投影,并提供一些可视化效果,包括点图、热图、等高线图和形状文件。PySAL是一个由Python编写的空间分析函数的开源库,它提供了许多基本的工具,主要用于形状文件。但是,这些库不允许用户绘制地图贴图,并且对自定义可视化、交互性和动画的支持有限。
        geoplotlib是python的一个用于地理数据可视化和绘制地图的工具箱,并提供了一个原始数据和所有可视化之间的基本接口,支持在纯python中开发硬件加速的交互式可视化,并提供点映射、内核密度估计、空间图、泰森多边形图、形状文件和许多更常见的空间可视化的实现。除了为常用的地理数据可视化提供内置的可视化功能外,geoplotlib还允许通过定义定制层来定义复杂的数据可视化(绘制OpenGL,如分数、行和具有高性能的多边形),创建动画。
        这里写图片描述
        安装:

        pip install geoplotlib
        
         
         
         
         
        • 1

        快速入门

        from geoplotlib.layers import DelaunayLayer
        import geoplotlib
        from geoplotlib.utils import read_csv, BoundingBox
        data = read_csv('data/bus.csv')
        geoplotlib.delaunay(data, cmap='hot_r')
        geoplotlib.set_bbox(BoundingBox.DK)
        geoplotlib.set_smoothing(True)
        geoplotlib.show()
        

        运行结果
        这里写图片描述

        13.folium

        https://python-visualization.github.io/folium/
        folium是一个建立在Python系统之上的js库,可以很轻松地将在Python中操作的数据可视化为交互式的单张地图,且将紧密地将数据与地图联系在一起,可自定义箭头,网格等HTML格式的地图标记。该库还附有一些内置的地形数据。

        这里写图片描述

        安装

        方法一:

        pip install folium
        
         
         
         
         
        • 1

        方法二:

        conda install folium
        
         
         
         
         
        • 1

        方法三:

        点击下载安装

        快速入门

        import folium
        #确定经纬度
        m = folium.Map(location=[45.5236, -122.6750])
        m
        

        运行结果
        这里写图片描述

        14.Gleam

        Gleam允许你只利用Python构建数据的交互式,生成可视化的网络应用。无需具备HTML CSS或JaveScript知识,就能使用任一种Python可视化库控制输入。当你创建一个图表的时候,你可以在上面加上一个域,让任何人都可以实时地玩转你的数据,让你的数据更通俗易懂。

        安装:

        pip install Gleam
        
         
         
         
         
        • 1

        快速入门

        from wtforms import fields
        from ggplot import *
        from gleam import Page, panels
        #定义绘图函数
        class ScatterInput(panels.InputPanel):
            title = fields.StringField(label="Title of plot:")
            yvar = fields.SelectField(label="Y axis",
                                      choices=[("beef", "Beef"),
                                               ("pork", "Pork")])
            smoother = fields.BooleanField(label="Smoothing Curve")
        class ScatterPlot(panels.PlotPanel):
            name = "Scatter"
            def plot(self, inputs):
                p = ggplot(meat, aes(x='date', y=inputs.yvar))
                if inputs.smoother:
                    p = p + stat_smooth(color="blue")
                p = p + geom_point() + ggtitle(inputs.title)
                return p
        class ScatterPage(Page):
            input = ScatterInput()
            output = ScatterPlot()
        #运行
        ScatterPage.run()
        

        运行结果
        这里写图片描述

        15.vincent

        https://vincent.readthedocs.io/en/latest/
        Vincent是一个很酷的可视化工具,它以Python数据结构作为数据源,然后把它翻译成Vega可视化语法,并且能够在d3js上运行。这让你可以使用Python脚本来创建漂亮的3D图形来展示你的数据。Vincent底层使用Pandas和DataFrames数据,并且支持大量的图表----条形图、线图、散点图、热力图、堆条图、分组条形图、饼图、圈图、地图等等。

        这里写图片描述

        安装

        pip install vincent
        
         
         
         
         
        • 1

        快速入门

        import vincent
        bar = vincent.Bar(multi_iter1['y1'])
        bar.axis_titles(x='Index', y='Value')
        bar.to_json('vega.json')
        
        • 运行结果
          这里写图片描述

          16.mpld3

          http://mpld3.github.io/
          mpld3基于python的graphing library和D3js,汇集了Matplotlib流行的项目的JavaScript库,用于创建web交互式数据可视化。通过一个简单的API,将matplotlib图形导出为HTML代码,这些HTML代码可以在浏览器内使用。
          这里写图片描述

          安装

          方法一:

          pip install mpld3
          
            
            
            
            
          • 1

          方法二:

          点击下载安装

          快速入门

          import matplotlib.pyplot as plt
          import numpy as np
          import mpld3
          from mpld3 import plugins
          fig, ax = plt.subplots()
          x = np.linspace(-2, 2, 20)
          y = x[:, None]
          X = np.zeros((20, 20, 4))
          X[:, :, 0] = np.exp(- (x - 1) ** 2 - (y) ** 2)
          X[:, :, 1] = np.exp(- (x + 0.71) ** 2 - (y - 0.71) ** 2)
          X[:, :, 2] = np.exp(- (x + 0.71) ** 2 - (y + 0.71) ** 2)
          X[:, :, 3] = np.exp(-0.25 * (x ** 2 + y ** 2))
          im = ax.imshow(X, extent=(10, 20, 10, 20),
                         origin='lower', zorder=1, interpolation='nearest')
          fig.colorbar(im, ax=ax)
          ax.set_title('An Image', size=20)
          plugins.connect(fig, plugins.MousePosition(fontsize=14))
          mpld3.show()
          

        运行结果
        这里写图片描述

        17.python-igraph

        http://igraph.org/python/
        Python界面的igraph高性能图形库,主要针对复杂的网络研究和分析

        这里写图片描述

        安装

        方法一:

        pip install python-igraph
        
         
         
         
         
        • 1

        方法二:

        点击下载安装

        快速入门

        from igraph import *
        layout = g.layout("kk")
        plot(g, layout = layout)
        

        运行结果
        这里写图片描述

        18.missingno

        https://github.com/ResidentMario/missingno
        没有高质量的数据,就没有高质量的数据挖掘结果,当我们做监督学习算法,难免会碰到混乱的数据集,缺失的值,当缺失比例很小时,可直接对缺失记录进行舍弃或进行手工处理,missingno提供了一个小型的灵活的、易于使用的数据可视化和实用工具集,用图像的方式让你能够快速评估数据缺失的情况,而不是在数据表里面步履维艰。你可以根据数据的完整度对数据进行排序或过滤,或者根据热度图或树状图来考虑对数据进行修正。
        missingno 是基于matplotlib建造的一个模块,所以它出图速度很快,并且能够灵活的处理pandas数据。
        这里写图片描述

        安装:

        方法一:

        pip install missingno
        
         
         
         
         
        • 1

        方法二:

        点击下载安装

        快速入门

        import missingno as msno
        import pandas as pd
        import pandas_datareader.data as web
        import numpy as np
        p=print
        save_loc = '/YOUR/PROJECT/LOCATION/'
        logo_loc = '/YOUR/WATERMARK/LOCATION/'
        # get index and fed data
        f1 = 'USREC' # recession data from FRED
        start = pd.to_datetime('1999-01-01')
        end = pd.datetime.today()
        mkt = '^GSPC'
        MKT = (web.DataReader([mkt,'^VIX'], 'yahoo', start, end)['Adj Close']
              .resample('MS') # month start b/c FED data is month start
               .mean()
               .rename(columns={mkt:'SPX','^VIX':'VIX'})
               .assign(SPX_returns=lambda x: np.log(x['SPX']/x['SPX'].shift(1)))
               .assign(VIX_returns=lambda x: np.log(x['VIX']/x['VIX'].shift(1)))
               )
        data = (web.DataReader([f1], 'fred', start, end)
                .join(MKT, how='outer')
                .dropna())
        p(data.head())
        p(data.info())
        msno.matrix(data)
        

        运行结果
        这里写图片描述

        19.Mayavi2

        http://code.enthought.com/pages/mayavi-project.html
        Mayavi2是一个通用的、跨平台的三维科学数据可视化工具。可以在二维和三维空间中显示标量、向量和张量数据。可通过自定义源、模块和数据过滤器轻松扩展。Mayavi2也可以作为一个绘图引擎,生成matplotlib或gnuplot脚本,也可以作为其他应用程序的交互式可视化的库,将生成的图片嵌入到其他应用程序中。

        这里写图片描述!
        安装

        pip install mayavi
        
         
         
         
         
        • 1

        快速入门

        import numpy
        from mayavi import mlab
        def lorenz(x, y, z, s=10., r=28., b=8. / 3.):
            """The Lorenz system."""
            u = s * (y - x)
            v = r * x - y - x * z
            w = x * y - b * z
            return u, v, w
        # 取样.
        x, y, z = numpy.mgrid[-50:50:100j, -50:50:100j, -10:60:70j]
        u, v, w = lorenz(x, y, z)
        fig = mlab.figure(size=(400, 300), bgcolor=(0, 0, 0))
        # 用合适的参数画出轨迹的流动.
        f = mlab.flow(x, y, z, u, v, w, line_width=3, colormap='Paired')
        f.module_manager.scalar_lut_manager.reverse_lut = True
        f.stream_tracer.integration_direction = 'both'
        f.stream_tracer.maximum_propagation = 200
        # 提取特征并绘制
        src = f.mlab_source.m_data
        e = mlab.pipeline.extract_vector_components(src)
        e.component = 'z-component'
        zc = mlab.pipeline.iso_surface(e, opacity=0.5, contours=[0, ],
                    color=(0.6, 1, 0.2))
        # 背景设置
        zc.actor.property.backface_culling = True
        # 图片展示
        mlab.view(140, 120, 113, [0.65, 1.5, 27])
        mlab.show()
        

        运行结果
        这里写图片描述

        20.Leather

        https://leather.readthedocs.io/en/latest/examples.html
        Leather一种可读且用户界面友好的API,新手也能快速掌握。图像成品非常基础,适用于所有的数据类型,针对探索性图表进行了优化,产生与比例无关的SVG图,这样在你调整图像大小的时候就不会损失图像质量
        这里写图片描述
        安装

        方法一:

        pip install leather
        
         
         
         
         
        • 1

        方法二:

        点击下载安装

        快速入门

        import csv
        import leather
        with open('gii.csv') as f:
            reader = csv.reader(f)
            next(reader)
            data = list(reader)[:10]
            for row in data:
                row[1] = float(row[1]) if row[1] is not None else None
        chart = leather.Chart('Data from CSV reader')
        chart.add_bars(data, x=1, y=0)
        chart.to_svg('csv_reader.svg')
        

        运行结果
        这里写图片描述
        #结语:
        在 Python 中,将数据可视化有多种选择,因此何时选用何种方案才变得极具挑战性。
        如果你想做一些专业的统计图表,我推荐你使用Seaborn,Altair;数学,科学,工程领域的学者就选择PyQtGraph,VisPy,Mayavi2;网络研究和分析方面,NetworkX,python-igraph会是一个不错的选择。
        地理投影就选geoplotlib,folium;评估数据缺失就选missingno;有了HoloViews再也不用为高维图形犯愁;如果你不喜欢花俏的修饰,那就选择Leather。
        如果你是一名新手但有MATLAB基础,matplotlib会很好上手;有R基础的就选ggplot;如果你是新手或懒癌晚期者,Plotly将会是一大福音,它提供了大量图表集可供你选择与使用。

        • 0
          点赞
        • 3
          收藏
          觉得还不错? 一键收藏
        • 0
          评论
        评论
        添加红包

        请填写红包祝福语或标题

        红包个数最小为10个

        红包金额最低5元

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

        抵扣说明:

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

        余额充值