大数据背景下基于Python的数据可视化

2023-10-31 06:58薛亚辉
信息记录材料 2023年9期
关键词:折线图图表绘制

赵 帅,薛亚辉

(焦作大学人工智能学院 河南 焦作 454000)

0 引言

在大数据时代,数据的规模和复杂程度不断增加,“成千上万”的抽象数据正在驱动着整个经济社会的发展,人们也越发关注数据背后的价值,如何从庞杂的数据中提取出有价值的信息,并对这些数据进行有效的分析和呈现,已经成为一个重要的研究领域。数据可视化是一种重要的数据分析和表达方式,而Python作为目前最流行的编程语言之一,具有强大的数据处理能力和丰富的数据可视化分析库[1],支持创建多种类型的可视化图表,在数据挖掘、分析领域应用较为广泛,研究基于Python的数据可视化方法可以提高数据分析和可视化的效率,帮助人们更好地理解和处理数据,具有重要的现实意义和研究价值。

1 数据可视化

1.1 概念

数据可视化是将抽象的、不易被理解的数据通过直观的、易于理解的图表、图像等形式进行呈现的过程,以便更好地分析、提取和掌握数据信息,发现数据中的规律和趋势,能够帮助用户更加深入地了解数据、更加关注数据背后隐藏的意义和价值[2],是大数据分析过程中必不可少的环节。

1.2 发展历程及应用

数据可视化技术的发展最早可以追溯到18世纪前后应用的手工测量绘图及统计学图表[3],如柱状图、折线图、饼图等。从20世纪60年代起,伴随着计算机技术的快速发展,数据可视化的范围和形式也在不断扩展、更新,计算机科学家们开始尝试使用图形和图表的形式来展示数据,诞生了许多数据可视化工具和软件,如SPSS、Excel、Tableau、Power BI等。在大数据时代,数据量急剧增加,展示和分析大规模数据成为数据可视化领域研究的重要课题,数据可视化技术已经逐渐从二维空间向三维空间、虚拟现实等方向发展[4]。

目前,数据可视化的应用涵盖了各个领域。在金融领域,股票价格走势图等金融数据可视化可以帮助分析师更直观、全面地了解市场情况,提升股票投资的准确性,制定更明智的投资策略。在医疗领域,医疗数据可视化可以将患者的体温、血压、心率等复杂的生命体征数据用图形化的方式展示,帮助医生做出准确的诊断和治疗方案。在教育领域,数据可视化可以用于学生成绩分析、评价等方面,帮助教师更好地了解学生的学习情况,发现教学中存在的问题,制定更科学的教学计划等。在市场营销领域,企业可以使用数据可视化技术分析客户行为数据,如购买偏好、消费群体、店铺商品浏览历史等,从而更充分地了解客户需求,制定精准的市场营销策略。此外,数据可视化还可以在科学研究、政府管理、智慧城市建设等诸多领域中发挥作用。

2 基于Python的数据可视化技术介绍

Python是面向对象的解释型程序设计语言,具有语法简洁、即写即用、编码效率高等特点,开发生态非常完善[4]。具备丰富的数据处理、分析和绘图库,如NumPy、Pandas等可以帮助用户快速实现数据分析、处理操作。在绘图库方面,Matplotlib提供了多种图形绘制方法,包括折线图、散点图、柱状图等;而Seaborn是在Matplotlib的基础上进行了更高级的API封装,代码编写更加简洁,可视化效果更加丰富;Pyecharts是Python结合百度Echarts开发的绘图库,对中文支持非常友好;Plotly和Bokeh等库可以实现交互式可视化等。利用这些强大的Python绘图库能够快速地绘制出各种类型的可视化图形,并提供交互式的数据分析和可视化功能,能够满足不同层次和领域的数据可视化需求。

2.1 Matplotlib

Matplotlib是Python中最流行的可视化工具之一,可用于生成2 D的图形。它提供了广泛的绘图选项,包括折线图、散点图、柱状图、雷达图等,并且能够与NumPy等科学计算库协同工作。例如,用Matplotlib通过以下代码可以绘制一个简单的正弦曲线折线图,如图1所示。

图1 用Matplotlib库绘制正弦曲线折线图

import matplotlib.pyplot as plt

import numpy as np

x=np.linspace(0, 10, 100)

y=np.sin(x)

plt.plot(x, y)

plt.show()

2.2 Seaborn

Seaborn在Matplotlib的基础上提供了一系列高层次的API接口,使得数据可视化图形变得更加简单和美观。Seaborn适用于生成统计图表、热图、分布图等。例如,用Seaborn通过以下代码可以绘制一个简单的数字热力图,如图2所示。

import seaborn as sns

import pandas as pd

import numpy as np

df=pd.DataFrame(np.random.rand(10, 10))

sns.heatmap(df,annot=True,cmap="BuGn")

plt.show()

2.3 Plotly

Plotly是一个交互式Python数据可视化工具,它提供了丰富的可视化选项和交互式界面,如图片的高亮显示、缩放、旋转等;Plotly还提供了Python、R、Matlab等多种编程语言的接口,可以根据具体需求选择合适的微编程语言。例如,用Plotly通过以下代码可以绘制一个简单的散点图,如图3所示。

图3 用Plotly库绘制散点图

import plotly.graph_objs as go

import numpy as np

x=np.random.randn(500)

y=np.random.randn(500)

trace=go.Scatter(x=x,y=y,mode="markers")

fig=go.Figure(trace)

fig.show()

2.4 Pyecharts

Pyecharts是Python与百度Echarts相结合的一个可视化库,提供了简单易用的API接口,可以快速创建各种类型的图表;还提供了多种可定制的功能和实例代码,包括图表主题、颜色、字体、标记等,便于快速理解和掌握库的使用方法,实现对图表的深层次设计。例如,用Pyecharts通过以下代码可以绘制一个简单的饼图,如图4所示。

图4 用Pyecharts库绘制饼图

frompyechartsimportPie

pie=Pie()

pie.add(name='饮品销量占比',attr=['饮料','牛奶','咖啡','奶茶'],value=[15,25,

34,7],is_label_show=True)

pie.render()

3 数据可视化的方法和原则

3.1 数据可视化方法

数据可视化是将数据以图形化的形式呈现,使得数据更加易于理解和分析的过程。为了实现这个目标,数据可视化利用各种图表、图形和其他视觉元素,如颜色、形状等来展示数据的不同方面和关系。常用的数据可视化图形方法见表1。

表1 数据可视化可供选择的图形方法表

除了上述方法之外,还有许多其他数据可视化方法,如词云图、雷达图、水平条形图、气泡图等,每种图形都有其独特的作用和表达方式,选择合适的方法取决于具体的数据类型、数据结构和研究问题的需要等。

3.2 数据可视化原则

数据可视化不仅仅是一种呈现数据的手段,也是一种艺术表达方式,需要具有美感、平衡感和一定的视觉冲击效果,以吸引读者的注意力,从而更有效地传达信息[5]。可视化的设计需要遵循如下基本的原则。

(1)明确目标和受众。在进行数据可视化之前,需要明确目标和受众,图表的设计和选择应该根据受众的需求和理解水平进行选择。例如,对于专业人士,可以使用更复杂的图表类型;而对于普通读者,则需要使用简单、直观的图表类型。

(2)选择合适的图表类型。在选择图表类型时,要根据数据的类型、分布和关系等因素来综合考量。例如,对于时间序列数据,可以使用折线图;对于分类数据,可以使用条形图或饼图;对于关系数据,可以使用散点图或热力图。

(3)注重简洁、重点突出。可视化图表应尽可能简洁,只需要包含必要的信息,不应该过度装饰或添加不必要的元素,要能够清晰明了地展示数据结构和标签,说明数据的含义和单位等,可以使用颜色、形状、线型等方式来突出重点信息,以便读者正确、快速地理解数据。

(4)数据准确。可视化图表应该反映准确的数据,在制作图表前,要对数据可靠性进行甄别、处理,以获取准确的统计运算结果、正确的比例、兼容的数据类型等;另外可以提供合适的图片背景及上下文信息,如图表的标题、标签和注释等,以供读者理解数据。

(5)进行交互式可视化。对于复杂的数据可以使用交互式可视化,让读者利用交互功能自由地探索数据。例如,使用Plotly和Bokeh等工具创建的交互式图表,可以在图表中添加滑块、下拉菜单、鼠标悬停提示等交互元素,让读者能够与数据进行更深入的互动。

(6)参考常见的可视化风格。可以参考一些常见的可视化风格和规范,例如:Edward Tufte的数据可视化原则,包括避免使用不必要的图形元素、确保图形元素的比例和大小与数据的比例和大小相匹配、保持图形元素的样式和排版一致等;还有Ivanovitch Silva的数据可视化模式和数据驱动设计模式等,帮助人们设计出更有效的数据可视化图表。

4 结论与展望

数据可视化技术经历了从静态图表到交互式可视化、再到混合可视化的发展过程,基于Python的数据可视化技术具有开源免费、可扩展性强、可视化库丰富等优点,有利于数据的挖掘、清洗、转换和可视化表达,可以用多样的可视化库绘制出精美、好看的图表,满足各类不同的数据可视化需求。但是Python数据可视化技术也存在部分缺点,例如:Python是一种解释型语言,相对于C++、Java等编译型语言,其运行效率较低,在处理大规模的数据时可能会面临性能瓶颈问题;Python数据可视化库与其他第三方库之间的依赖关系较强,在使用过程中可能需要花费一些精力解决库之间的依赖性问题。另外,虽然Python简单易学,但数据可视化还需要具备数据分析、统计学等方面的知识,如果缺乏相关的知识背景也可能对可视化效果产生一定的影响,基于Python的数据可视化技术还需要继续深入研究和探索,不断提高其性能和可靠性。

在大数据背景下,基于Python的数据可视化研究还有很大的发展空间,如结合深度学习技术的可视化方法研究,通过神经网络训练和分类等功能,实现更加高效、准确的数据可视化;还可以利用自然语言处理技术,将数据转化为可视化故事、动画等,提供更加生动的数据表现形式;另外,更多维度的数据可视化技术研究可以让人们更好地理解高维度数据间的结构和关系等[6];还有Python可视化技术的跨平台和多设备应用研究以及更高效的算法和技术支持方面的研究等。未来基于Python的数据可视化研究、发展与应用将进一步满足大数据时代人们日益增长的数据呈现需求,更好地发挥数据的价值内涵,为经济社会的发展注入更多的活力。

猜你喜欢
折线图图表绘制
Art on coffee cups
Optimization Design of Miniature Air Quality Monitoring System Based on Multi-Sensor Fusion Technology
放学后
让折线图显示在一个单元格中
再多也不乱 制作按需显示的折线图
美化Excel折线图表
双周图表
双周图表
双周图表
图表