Python 编程语言对于所有类型的项目都有不同类型的库。同样,python 有各种用于数据可视化的库,因此用户可以非常详细地理解数据集并正确地分析它。
每个可视化库都有自己的规范。将特定的库用于特定的任务有助于用户以更简单和准确的方式完成任务。有些解放者比其他人工作得更好。在本文中,我们将讨论这些库的优缺点,以了解哪个库更适合数据可视化。
Python 编程中的数据可视化库如下所示:
- Matplotlib
- Ggplot(打印)
- 皮加尔
- 密西西比州
- 希伯恩
- 阴谋地
- 闪光
- 皮革
- 地质图书馆
- Bokeh
- 薄层
Matplotlib
Matplotlib 是一个用于在 Python 编程语言中绘制图形的库。它用于绘制二维数组。Matplotlib 建立在T3NumPy阵列上。它被设计成与边界 SciPy 栈一起工作。它是由约翰·亨特在 2002 年开发的。
可视化的好处是用户可以可视化地访问大量数据集。Matplotlib 是一个由直方图、条形图、折线图、散点图等各种图组成的库。
Matplotlib 有各种各样的情节。图表有助于理解模式、趋势和建立相关性。它有推理定量信息的工具。
由于 matplotlib 是 python 中数据可视化的第一个库,所以许多其他库都是在它的基础上开发的,或者被设计成与它并行工作来分析数据集。
import matplotlib.pyplot as pyplt
import numpy as np
np.random.seed ( 16 )
pyplt.ylable ( ' stepfilled ' )
pyplt.show ( )
输出:
希伯恩
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
输出:
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.
)
Bokeh
Boken 是一个 Python 库,也是基于图形的语法,就像 ggplot 一样。它只是 Python 语言固有的。这个库不能在 R 编程语言中使用。该库具有构建交互式网络就绪图的能力,这些图是 JSON 对象、交互式网络应用或 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 )
皮加尔
Pygal 是 Python 编程语言的库,也用于数据可视化。这个库还开发了交互式情节,就像 Bokeh 和 Plotly 库一样。使用 pygal library 开发的互动剧情可以扎根在网络浏览器中。这个库能够以 SVG 的形式提供数据的输出聊天。
支持向量机适用于较小的数据集。因此,如果用户正在使用一个大数据集,并试图创建具有大量数据点的图表,图表将在执行中出现问题,并将变得缓慢。
在 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 ] )
输出:
阴谋地
Plotly 是一个用于数据可视化的库。这也是一个开放的平台,用户可以在线可视化和分析数据。
该库用于开发交互式图表。这是一个开源绘图库,允许近 40 种独特的图表和绘图类型,涵盖了大量代数、经济、地理三维和科学用户案例。
该库用于绘制聊天记录和绘图,如树状图、三维图表和等高线图。
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 ()
输出:
地质图书馆
Geoplotlib 是一个 Python 语言库,允许用户开发地图和绘制地理数据。它是工具箱的一个库,用于绘制不同类型的地图,如热图、点 - 密度图和弦图。
要使用 geoplotlib 库,用户需要下载 Pyglet,这是一种面向对象编程语言的接口。Geoplotlib 库在开放街道地图图块上绘制地图点。
它还具有缩放和平移地图的功能,以便用户可以更具体地查看。该库自动处理整个数据集加载、地图投影和下载地图切片。它有来自 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 ( )
输出:
闪光
Gleam 用于 Python 编程语言中的数据可视化。灵感来源于 R 编程语言的闪亮包。该库用于可视化和分析仅使用 Python 脚本的交互式网络应用的数据。
因此,用户不需要学习任何其他编程语言,如 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 " )
输出:
密西西比州
Missingno 是一个 Python 编程语言库,用于处理具有缺失值或混乱值的数据集。
这个库提供了一个小工具集,它易于使用,并且在缺少数据可视化的情况下非常灵活。它具有帮助用户快速获得完整性数据集的可视化摘要的实用程序。
用户可以使用过滤器并基于完整性对数据集进行分类,或者使用热图或树状图发现相关性。
示例-
import missingno as mgno
%matplotlib inline
mgno.matrix ( collisions.samples ( 250 ) )
输出:
皮革
皮革是一个 Python 编程语言库,用于为那些立即需要图表而不在乎图表是否完美的人创建图表。
这个库适用于所有类型的数据集。该库将数据的输出聊天创建为支持向量机,以便用户能够以最佳质量测量图表。
皮革图书馆是一个新图书馆,尽管如此,它的一些文献仍在整理中。使用该库创建的图表是基本的,但质量很好,这是粗略制作的。
示例-
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 ' )
薄层
leaf 是一个库,它使 ivery 易于在交互式传单地图上可视化和分析数据。这个库有各种内置的 tilesets 来自不同的平台,像开放街道地图,雄蕊和地图框。
叶库很容易用标记绘制地图。然而,其他 python 语言库也能够创建像阿尔泰、博肯和 T2 这样的地图。leaf 库使用了 OpenStreetMap,给人一种谷歌地图的感觉,还有几行代码。
这个库还使得通过使用标记来添加其他用户的可能位置变得容易。
叶库也有各种插件,可以在地图上看到,包括一个阿尔泰的插件。
示例-
import folium
M = folium.Map ( location = [ 26.987675 , 67.989654 ] )
m
摘要
本文以更具体和详细的方式讨论了用于数据可视化和分析的不同类型的 Python 库。
我们还讨论了每个库的不同用途和目的以及它们的独特功能,例如哪个库用于哪种绘图和创建图表,以及我们如何能够更准确、更快速地输出可视化数据集。