Python编程语言具有不同类型的库,适用于各种项目。同样,Python有各种用于数据可视化的库,以便用户可以以非常详细的方式理解数据集并进行适当的分析。

每个可视化库都有自己的规格。使用特定任务的特定库有助于用户更轻松、更准确地完成任务。某些库比其他库更好用。在本文中,我们将讨论这些库的优缺点,以了解哪个库更适合数据可视化。

Python编程中用于数据可视化的库如下:

  • Matplotlib
  • Ggplot
  • Pygal
  • Missingno
  • Seaborn
  • Plotly
  • Gleam
  • Leather
  • Geoplotlib
  • Bokeh
  • Folium

Matplotlib

Matplotlib是一个用于在Python编程语言中绘制图形的库。它用于绘制二维数组。Matplotlib是建立在NumPy数组之上的。它设计用于与边界的SciPy堆栈一起使用。它由John Hunter于2002年开发。

可视化的好处是用户可以对大量数据集进行可视化访问。Matplotlib是一个库,包含各种图形,如直方图、柱状图、折线图、散点图等。

Matplotlib附带了大量的图形。图形有助于理解模式、趋势,并进行相关性分析。它具有用于思考定量数据的工具。

由于Matplotlib是Python中的第一个数据可视化库,因此许多其他库都是在其之上开发或并行设计,用于分析数据集。

import matplotlib.pyplot as pyplt  
import numpy as np  
np.random.seed ( 16 )   
pyplt.ylable ( ' stepfilled ' )  
pyplt.show ( ) 

输出:

145-1.png

Seaborn

Seaborn是Python编程的一个库,主要用于制作数据集的统计图表。该库建立在Matplotlib库之上。它还与Pandas密切集成,Pandas用于数据集的数据结构。

Seaborn非常有助于更好地探索和理解数据。它提供了一个高水平的交叉点,用于绘制引人入胜和信息丰富的代数图形。让我们了解以下示例。

示例 -

import seaborn as sns  
sns.set ( color_codes = True)  
import matplotlib.pyplot as plt  
for i in range(n_rows):  
    fg,ax = plt.subplots(nrows=1,ncols=n_cols,sharey=True,figsize=(8, 2.4))  
    for j in range(n_cols):  
        sns.violinplot(x = data.Outcome, y=data[columns[idx]], ax=ax[j])   
        idx += 1  
        if idx >= 8:  
            break  

输出:

145-2.png

Ggplot

ggplot是一个Python操作的图形语法。它基于ggplot2,这是R编程语言绘图系统。它的操作方式与matplotlib不同,因为它允许用户分层组件以创建完整的绘图。用户可以从轴开始分层,添加点,然后是线,然后是趋势线,依此类推。

ggplot不是为开发高度自定义的图形而设计的。它具有较低的绘图复杂性。它与Pandas集成。因此,在使用ggplot时,最好将数据存储在数据帧中。

示例 -

from plotnine.data import economics  
from plotnine import ggplot , aes , geom_line  
(  
    ggplot ( economics ) #what data to use  
    + aes ( x = " price " ) #what variables to use  
    +geom_line ( ) #Geometric object to use for creating graphs.  
)  

145-3.png

Bokeh

Bokeh是一个Python库,也是基于图形语法的,就像ggplot一样。它仅与Python语言兼容。这个库不能在R编程语言中使用。这个库具有构建交互式、适用于Web的图形的能力,这些图形是JSON对象、交互式Web应用程序或HTML文档的输出。这个Python语言的库还允许流式处理和实时数据。

Bokeh库有三个不同级别的接口,以满足不同类型用户的需求。最高级别的控制用于快速创建图表。这个库包括了生成和绘制标准图表的不同方法,如柱状图、直方图和箱线图。最低级别专注于开发人员和软件工程师。

这个级别没有预设默认值,用户必须定义图表或绘图的每个元素。中间级别的控制规范与Matplotlib库相同。这个级别允许用户控制每个图表和绘图的基本构建块。让我们了解以下示例。

示例 -

from bokeh.plotting import figure , output_file , show  
from bokeh.sampledata.stocks import AAPL  
aapl = np.array ( AAPL [ ' adj_close ' ] )  
aaply_city = np.array ( AAPL [ ' city ' ] , dtype = np.city.temperature(F)  
windows_size = 30  
window = np.ones ( windows_Size ) / float ( windows _size )  

145-4.png

pygal

Pygal是Python编程语言的库,也用于数据可视化。这个库也可以开发交互式图形,就像Bokeh和Plotly库一样。使用pygal库开发的交互式图可以嵌入到Web浏览器中。这个库具有将数据的输出图表作为SVG的能力。

SVGs适用于较小的数据集。因此,如果用户使用大型数据集并尝试创建具有大量数据点的图表,图表将在执行时遇到问题并变得缓慢。

pygal库中,仅需几行代码即可绘制出漂亮的图表,因为它具有各种不同类型的图表的方法,并且还内置了样式。

示例 -

import pygal  
box_plot = pygal.Box()  
box_plot.title = ' V8 benchmark result '  
box_plot.add ( ' Chrome ', [ 6394, 8211, 7519, 7217, 12463, 1659, 2122, 8606 ] )  
box_plot.add ( ' Firefox ', [ 7472, 8098, 11699, 2650, 6360, 1043, 3796, 9449 ] )  
box_plot.add ( ' Opera ', [ 3471, 2932, 4202, 5228, 5811, 1827, 9012, 4668 ] )  
box_plot.add ( ' IE ', [ 42, 40, 58, 78, 143, 135, 33, 101 ] )

输出:

145-5.png

Plotly

Plotly是用于数据可视化的库。它还是一个开放平台,用户可以在线可视化和分析数据。

这个库用于开发交互式图和图表。它是一个开源绘图库,支持近40种独特的图和绘图类型,涵盖了广泛的代数、经济、地理3D和科学用户案例。

这个库用于绘制树状图、3D图和等高线图等图和图。

Python的Plotly库是建立在Plotly的JavaScript库之上的。

示例 -

import plotly.graph_objects as ply  
  
# Add data  
months = [ ' Jan ', ' Feb ', ' Mar ', ' Apr ', ' May ', ' June ', ' July ',' Aug ', ' Sep ', ' Oct ', ' Nov ', ' Dec ']  
high_2010 = [ 31.5, 36.6, 48.9, 52.0, 68.1, 74.4, 75.5, 75.6, 69.7, 59.6, 44.1, 28.3 ]  
low_2010 = [ 12.8, 21.3, 31.5, 36.2, 50.9, 55.1, 56.7, 57.3, 50.2, 41.8, 30.6, 14.9 ]  
high_2015 = [ 35.5, 25.6, 42.6, 51.3, 70.5, 80.4, 81.5, 81.2, 75.0, 66.3, 45.1, 34.0 ]  
low_2015 = [ 22.6, 13.0, 26.0, 35.8, 46.6, 56.7, 57.9, 60.2, 52.3, 47.5, 30.0, 22.6 ]  
high_2020 = [ 27.8, 27.5, 36.0, 55.8, 68.7, 78.7, 77.5, 76.8, 73.1, 61.6, 44.3, 38.9 ]  
low_2020 = [ 11.7, 13.3, 17.6, 34.5, 48.9, 57.0, 59.0, 57.6, 50.7, 44.2, 31.2, 28.1 ]  
  
fig = go.Figure ()  
# Create and style traces  
fig.add_trace ( ply.Scatter( x = month, y = high_2020, name='High 2020',line = dict ( color = ' firebrick ', width = 4 ) ) )  
fig.add_trace ( ply.Scatter( x = month, y = low_2020, name = ' Low 2020', line = dict ( color = ' royalblue ', width = 4 ) ))  
fig.add_trace ( ply.Scatter( x = month, y = high_2015, name = 'High 2015', line = dict(color = 'firebrick', width = 4, dash = 'dash' ) # here in this code dash options also involve 'dash', 'dot', and 'dashdot' ) )  
fig.add_trace (ply.Scatter ( x = month, y = low_2015, name = 'Low 2015', line = dict ( color = 'royalblue', width = 4, dash = 'dash' ) ) )  
fig.add_trace (ply.Scatter ( x = month, y=high_2010, name='High 2010',  
                         line = dict(color='firebrick', width=4, dash='dot')))  
fig.add_trace (ply.Scatter ( x = months, y = low_2010, name='Low 2010', line = dict ( color = 'royalblue', width = 4, dash = 'dot') ) )  
  
# Editing the layout of the graph  
fig.update_layout ( title = 'Average High and Low Temperatures in NYC',  
                 xaxis_title = ' Months ',  
                 yaxis_title = ' Temperatures ( degrees F ) ' )  
  
fig.show ()  

输出:

145-6.png

Geoplotlib

Geoplotlib是Python语言的库,允许用户开发地图绘制地理数据。它是一个工具箱的库,用于绘制不同类型的地图,如热力图、点密度图分区图等。

要使用geoplotlib库,用户需要下载Pyglet,这是一种面向对象编程语言的接口。Geoplotlib库在OpenStreetMap瓦片上绘制地图上的点。

它还具有缩放和平移地图的功能,以便用户可以更具体地查看。这个库自动处理整个数据集的加载、地图的投影和地图瓦片的下载。它具有OpenGL的图形渲染功能。

示例 -

import geoplotlib  
from geoplotlib.utils import BoundingBox  
from geoplotlib.colors import ColorMap  
import json  
# find the unemployment rate of the particular county, and then change it to color  
def get_color ( properties ):  
    key = str ( int ( properties [ ' STATE ' ] ) ) + properties [ ' COUNTRY ' ]  
    if key in unemployment:  
        return cmap.to_color ( unemployment.get ( key ) , .15, ' lin ' )  
    else:  
        return [ 0, 0, 0, 0 ]  
with open (' sample /data /unemployment.json ' ) as fin:  
    unemployment = json.load ( fin )  
cmap = ColorMap (' Blues ', alpha = 255, levels = 10 )  
geoplotlib.geojson (' samples /data/ gz_2010_us_050_00_20m.json ' , fill = True , color = get_color , f_tooltip = lambda properties: properties[ ' NAME ' ] )  
geoplotlib.geojson ( ' samples/ data/ gz_2010_us_050_00_20m.json ' , fill = False , color = [ 255 , 255 , 255 , 64 ] )  
geoplotlib.set_bbox (BoundingBox.USA )  
geoplotlib.show ( )  

输出:

145-7.png

Gleam

Gleam用于Python编程语言中的数据可视化。它受到了R编程语言的Shiny包的启发。这个库用于可视化和分析仅使用Python脚本的交互式Web应用程序的数据。

因此,用户不需要学习任何其他编程语言,如JavaScript、HTML或CSS。Gleam可以与Python编程语言的任何数据可视化库一起使用。

使用gleam,用户需要开发基本的绘图,然后可以在其上构建不同的字段,并随后可以轻松地对数据进行过滤和排序。

示例 -

from wtforms import fields  
from ggplot import *  
from gleam import Page, panels  
class ScatterInput ( panels.Inputs ) :  
    title = fields.StringField ( label = " Title of plot : " )  
    yvar = fields.SelectField ( label = " Y axis " ,  
                          choices = [ ( " beef " , " Beef " ) ,  
                               ( " pork " , " Pork " ) ] )  
 smoother = fields.BooleanField ( label = " Smoothing Curve " ) 

输出:

145-8.png

Missingno

Missingno是Python编程语言的库,用于处理具有缺失值或混乱值的数据集。

这个库提供了一个小型工具集,易于使用并且灵活,可用于缺失数据可视化。它具有实用程序,可帮助用户快速查看完整数据集的视觉摘要。

用户可以使用过滤器和基于完整性的排序数据集,或使用热图树状图来查找相关性。

示例 -

import missingno as mgno  
%matplotlib inline  
mgno.matrix ( collisions.samples ( 250 ) )

输出:

145-9.png

Leather

Leather是用于创建图表的Python编程语言库,适用于那些需要立即获取图表并不关心图表是否完美的用户。

这个库适用于各种类型的数据集。这个库将数据的输出图表作为SVG创建,以便用户可以以最佳质量测量图表。

Leather库是一个新的库,仍在进行一些文档编写工作。使用这个库创建的图表是基本的,但质量良好,粗略制作。

示例 -

import random  
import leather  
dot_dat = [ ( random.randint ( 0 , 10 ) , random.randint ( 0 , 10 ) for i in range ( 100 ) ]  
def colorizer ( d ) :  
    return ' rgb ( %i , %, %i ) ' % ( d.x , d.y , 10 )  
chart = leather.chart ( ' first ' )  

145-10.png

Folium

Folium是一个库,使在交互式leaflet地图上可视化和分析数据变得非常容易。这个库具有来自不同平台的各种内置瓦片集,如OpenStreetMaps、StamenMapbox

Folium库易于绘制带有标记的地图。但是,Python编程语言的其他库也可以创建地图,如Altair、bokenPlotly。Folium库使用OpenStreetMap,给人一种Google地图的感觉,只需几行代码。

这个库还使得通过使用标记轻松添加其他用户的可能位置成为可能。

Folium库还具有各种插件,可以在地图上看到,包括与Altair、bokenPlotly相同的内容。这个库可以将HTML内容嵌入地图。

示例 -

import folium   
M = folium.Map ( location = [ 26.987675 , 67.989654 ] )  
m 

输出:

145-11.png

这些是Python编程语言中用于数据可视化的一些重要库。每个库都具有其独特的优势和用例,根据您的需求和项目要求,可以选择最适合您的库。希望这个列表有助于您开始进行数据可视化并选择适当的工具。

标签: Tkinter教程, Tkinter安装, Tkinter库, Tkinter入门, Tkinter学习, Tkinter入门教程, Tkinter, Tkinter进阶, Tkinter指南, Tkinter学习指南, Tkinter进阶教程, Tkinter编程