>  기사  >  백엔드 개발  >  Python 기반 기술의 데이터 시각화를 구현하는 방법

Python 기반 기술의 데이터 시각화를 구현하는 방법

王林
王林원래의
2023-11-08 08:21:34746검색

Python 기반 기술의 데이터 시각화를 구현하는 방법

오늘날 인공지능과 빅데이터 시대에 데이터 시각화는 데이터 분석 애플리케이션에서 매우 중요한 링크가 되었습니다. 데이터 시각화는 데이터를 보다 직관적으로 이해하고, 데이터의 패턴과 이상 징후를 발견하며, 데이터 분석을 다른 사람에게 보다 명확하게 전달하는 데 도움이 됩니다.

Python은 가장 널리 사용되는 프로그래밍 언어 중 하나이며 데이터 분석 및 데이터 마이닝 분야에서 매우 뛰어난 성능을 발휘합니다. Python은 Matplotlib, Seaborn, Bokeh 등과 같은 풍부한 데이터 시각화 라이브러리를 제공합니다. 그 중 Matplotlib는 Python에서 가장 유명한 데이터 시각화 라이브러리 중 하나이며, 공식 문서에는 Matplotlib의 기본 데이터 시각화 핵심 기술이 자세히 설명되어 있지 않습니다. 기본 기술이 구현됩니다. 따라서 이 기사에서는 Python의 기본 기술을 사용하여 데이터 시각화를 달성하고 구체적인 코드 예제를 제공하는 방법에 중점을 둘 것입니다.

Matplotlib 기반 기술 구현

Matplotlib은 Python에서 널리 사용되는 데이터 시각화 라이브러리이며, 기반 기술은 pyplot을 기반으로 합니다.

보통 시각화 라이브러리를 먼저 가져온 다음,plot() 함수를 통해 그래프 인스턴스를 생성하고, 일련의 함수를 통해 그래프를 생성하고 표시합니다.

다음은 Python에서 Matplotlib 라이브러리를 사용하여 x축을 가로축, y축을 세로축으로 하는 좌표 곡선을 그리는 방법을 보여주는 간단한 예입니다.

import matplotlib.pyplot as plt
import numpy as np

# 生成X轴的范围是(-π,π)内的等差数列
x = np.linspace(-np.pi,np.pi,256,endpoint=True)

# 计算cos(x)和sin(x)的值
C,S = np.cos(x), np.sin(x)

#创建画布和子图
fig,ax = plt.subplots()

# 画出cos(x)和sin(x)的曲线图
ax.plot(x,C,label='cos(x)')
ax.plot(x,S,label='sin(x)')

# 设置标题,x轴,y轴的名称
ax.set_title('Cos and Sin Function')
ax.set_xlabel('X Axis')
ax.set_ylabel('Y Axis')

# 设置图例
ax.legend()

# 显示图形
plt.show()

위 코드를 사용하면 x축을 가로축, y축을 세로축으로 하여 좌표곡선을 쉽게 그릴 수 있습니다.

Matplotlib 기반 기술의 구현 과정

위 코드에서는 먼저 x축의 값 범위를 생성한 후 cos(x)와 sin(x)의 값을 계산했습니다. 다음으로 캔버스와 서브플롯을 생성한 다음, 플롯() 함수를 사용하여 그리기 작업을 수행합니다. 마지막으로 몇 가지 함수를 통해 그래프의 제목, x/y 축 이름, 범례를 설정한 후 show() 함수를 호출하여 캔버스 인스턴스를 표시합니다.

그 중 matplotlib.pyplot 하위 라이브러리는 Matplotlib 라이브러리 아래의 그리기 모듈로 NumPy 배열에 그리기 위한 다양한 기능을 제공합니다. Matplotlib의 기본 기술 구현은 각각 Matplotlib의 캔버스 및 렌더러 개체인 FigureCanvas와 Renderer라는 두 가지 측면에서 이해될 수 있습니다.

FigureCanvas는 Matplotlib의 객체 지향 그래픽 디스플레이 클래스입니다. 그리기 장치와 상호 작용하고 그리기 결과를 디스플레이에 출력하는 역할을 합니다. 위의 예에서는 plt.subplots()를 통해 캔버스 객체인 Figure를 생성했습니다. 모든 후속 그리기 작업은 이 캔버스에서 수행됩니다.

Renderer는 Matplotlib의 렌더러 객체로, 그림의 선, 점, 텍스트 등을 이미지로 그리는 것, 즉 캔버스에 렌더링하는 역할을 합니다. 위의 예에서는 ax.plot() 함수를 사용하여 cos(x)와 sin(x)의 곡선을 그렸는데, 이 함수는 실제로 렌더러 객체를 사용하여 그래픽을 그렸습니다. 이 과정에서는 먼저 Axis X/Y Limiter를 호출하여 각 좌표축의 데이터 범위를 결정한 다음 Scaler를 사용하여 원본 데이터를 캔버스의 좌표로 변환하고 마지막으로 Renderer를 사용하여 실제 드로잉을 구현합니다. 작업.

Seaborn의 기본 기술 구현

Seaborn은 Matplotlib을 기반으로 하는 고급 그리기 라이브러리로 Matplotlib의 기본 그리기 기술을 유지하면서 더 간단하고 사용하기 쉬운 API를 제공합니다. Matplotlib을 보완하고 향상되었습니다.

Seaborn 라이브러리를 사용하여 특정 코드 예제를 보여주기 위해 일변량 히스토그램을 그리는 것을 예로 들었습니다. 이 예에서는 Seaborn 라이브러리에 내장된 "mpg" 데이터 세트를 사용합니다.

import seaborn as sns

# 设置Seaborn图库的风格和背景颜色
sns.set(style='whitegrid', palette='pastel')

# 读取数据
mpg = sns.load_dataset("mpg")

# 绘制直方图,并设置额外参数
sns.distplot(mpg['mpg'], bins=20, kde=True, rug=True)

# 设置图形标题以及X轴,Y轴的标签
plt.title('Histogram of mpg ($mu=23.45, ; sigma=7.81$)')
plt.xlabel('MPG')
plt.ylabel('Frequency')

# 显示图形
plt.show()

위 코드를 사용하면 mpg 데이터의 분포를 보여주는 히스토그램을 그릴 수 있습니다.

Seaborn의 기본 기술 구현 과정

위 코드에서는 먼저 Seaborn 라이브러리의 스타일과 배경색을 설정한 다음 Seaborn과 함께 제공되는 mpg 데이터 세트를 읽습니다. 그런 다음 sns.distplot() 함수를 사용하여 히스토그램을 그리고 몇 가지 추가 매개변수를 설정하여 그래픽 효과를 조정했습니다. 마지막으로 plt.title(), plt.xlabel() 및 plt.ylabel() 함수를 사용하여 그래프 제목, x/y 축 이름 및 기타 정보를 설정한 다음 plt.show() 함수를 호출합니다. 그래프를 표시합니다.

씨본의 기반 기술 구현 과정은 Matplotlib과 유사하며, 그리기도 FigureCanvas와 Renderer를 통해 구현됩니다. Seaborn의 기반 기술에서는 FacetGrid를 통해 FigureCanvas 객체가 생성되고, 이 캔버스 객체를 기반으로 그림이 그려집니다. 동시에 Seaborn 라이브러리의 그리기는 주로 AxesSubplot 클래스를 통해 구현됩니다. 이 클래스는 Matplotlib의 Axes 클래스의 하위 클래스이지만 보다 효율적이고 사용하기 쉽도록 설계되었으므로 Seaborn에서 기본 그리기 기술의 주요 구현으로 사용됩니다.

Bokeh의 기본 기술 구현

Bokeh는 데이터 시각화 및 탐구 분석을 위한 Python 라이브러리로, 동적 데이터 시각화를 생성하는 데 대화형이고 반응성이 뛰어나며 효율적입니다. Bokeh의 기반 기술 중 드로잉 기술은 주로 JavaScript를 기반으로 구현되므로 보다 인터랙티브하고 역동적인 시각화 효과를 얻을 수 있습니다.

下面展示一个简单的 Bokeh 代码示例,说明如何在 Python 中使用 Bokeh 库绘制一个5条折线图,其中使用 Bokeh 提供的工具箱来进行交互式操作。

from bokeh.plotting import figure, show
from bokeh.io import output_notebook

# 启用Jupyter Notebook绘图
output_notebook()

# 创建一个 Bokeh 图形对象
p = figure(title="Simple Line Graph")

# 创建折线图
x = [1, 2, 3, 4, 5]
y = [6, 7, 2, 4, 5]
p.line(x, y, legend="Line A", line_width=2)

y2 = [2, 3, 4, 5, 6]
p.line(x, y2, legend="Line B", line_width=2)

y3 = [4, 5, 1, 7, 8]
p.line(x, y3, legend="Line C", line_width=2)

y4 = [6, 2, 4, 8, 1]
p.line(x, y4, legend="Line D", line_width=2)

y5 = [5, 8, 6, 2, 4]
p.line(x, y5, legend="Line E", line_width=2)

# 添加工具箱
p.toolbar_location = "above"
p.toolbar.logo = "grey"

# 设置图形的X轴,Y轴以及图例
p.xaxis.axis_label = "X"
p.yaxis.axis_label = "Y"
p.legend.location = "bottom_right"

# 显示图形
show(p)

通过上述代码,可以绘制出一个包含5条折线的折线图,并且提供了一些 Bokeh 工具箱来提供交互式操作。

Bokeh 底层技术的实现过程

Bokeh 底层技术的实现过程中,最核心的部分就是基于 JavaScript 来实现绘图。在上述代码中,我们主要使用了 Bokeh 的 figure()函数来创建一个 Bokeh 图形对象。同时,我们也使用了 Bokeh 提供的 line()函数来创建折线图,并且添加了一些工具箱和额外的功能,如工具箱的位置、X轴/Y轴的名称和图例的位置等等。

在Bokeh 底层技术的实现过程中,将Python代码转换为JavaScript代码非常重要。Bokeh 将Python代码转换为 JavaScript 代码,然后使用 Web 技术在前端绘图。Bokeh 库中的 BokehJS 是使用 TypeScript 编写的 JavaScript 库,它实现了所有 Bokeh 的绘图功能。因此,在使用Bokeh库绘制数据可视化时,我们也需要对比对JavaScript进行一些调试和定制。

小结

数据可视化是一个重要的环节,而Python通过各种底层技术提供了多种数据可视化库,其中最为流行的有Matplotlib、Seaborn和Bokeh等。这些库都支持Python本身的各种数据类型,并且能够提供非常高效,简洁和灵活的绘制方法。

本文主要介绍了使用Python底层技术实现数据可视化的方法,并提供了各库中的具体代码示例。通过学习这些底层技术,可以更加深入地了解Python数据可视化库背后的原理和细节。

위 내용은 Python 기반 기술의 데이터 시각화를 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.