数据可视化技术及其在COVID-19数据中的应用

数据可视化是一种将数据和信息以图形化方式呈现的技术,它通过图表、地图等工具,帮助更有效地发现数据中的趋势、异常值和模式。在大数据时代,数据可视化工具和技术对于处理和分析海量信息、做出数据驱动的决策至关重要。

数据可视化的好处包括加快决策过程、轻松识别隐藏的模式、获取商业洞察、发现错误的信念、使数据讲述更吸引人、帮助非技术背景的人更好地理解数据、识别新趋势等。人类的眼睛对颜色和图案有天生的敏感性,从艺术和手工艺到广告、电视和电影,人类文化本身就是视觉的。

数据可视化可以被描述为另一种艺术形式,它吸引眼球和注意力,并让专注于背后的信息。在查看图表时,可以轻松快速地看到即将到来或正在进行的趋势、异常值等。这种视觉表现帮助更快地消化事实。

如果曾经盯着一个庞大的Excel表格,却无法理解其内容,就会知道数据可视化的效果有多好。今天,将对全球COVID-19数据集进行数据可视化。这个数据集可以在Kaggle上找到,链接如下:

使用Plotly进行数据可视化

Plotly是一个开源的Python图形库,它生成交互式、出版质量的图表。它的总部位于加拿大魁北克的蒙特利尔,开发在线数据分析和可视化工具。Plotly为个人和公司提供在线图表创建、分析和统计工具,以及Python、R、MATLAB、Perl、Julia、Arduino和REST的科学绘图库。

首先,需要安装chart-studio,以便与Plotly的Chart Studio服务进行交互(包括Chart Studio云和Chart Studio On-Prem)。然后,导入必要的模块和库:

!pip install chart_studio import pandas as pd import numpy as np import chart_studio.plotly as py import cufflinks as cf import seaborn as sns import plotly.express as px %matplotlib inline from plotly.offline import download_plotlyjs, init_notebook_mode, plot, iplot init_notebook_mode(connected=True) cf.go_offline()

加载国家级别的数据集,并查看数据:

country_wise = pd.read_csv('/kaggle/input/corona-virus-report/country_wise_latest.csv') print("Country Wise Data shape =",country_wise.shape) country_wise.head()

接下来,将通过几个不同的图表来可视化各国的死亡人数。由于国家众多,将它们分成不同的图表。

import plotly.graph_objects as go fig = px.bar(country_wise.head(50), y='Deaths', x='Country/Region', text='Deaths', color='Country/Region') fig.update_traces(texttemplate='%{text:.2s}', textposition='outside') fig.update_layout(uniformtext_minsize=8) fig.update_layout(xaxis_tickangle=-45) fig

继续以同样的方式为接下来的50个国家创建图表,并以此类推。

worldometer = pd.read_csv('/kaggle/input/corona-virus-report/worldometer_data.csv') worldometer_asia = worldometer[worldometer['Continent'] == 'Asia'] px.pie(worldometer_asia, values='TotalCases', names='Country/Region', title='亚洲大陆人口', color_discrete_sequence=px.colors.sequential.RdBu)

注意:动画无法添加到本文中,但如果编写并运行代码,它将无缝播放。

full_grouped = pd.read_csv('/kaggle/input/corona-virus-report/full_grouped.csv') # ...(省略部分代码)... fig = px.bar(df, x="Country/Region", y="Confirmed", color="Country/Region", animation_frame="Date", animation_group="Country/Region", range_y=[0,df['Confirmed'].max() + 100000]) fig.layout.updatemenus[0].buttons[0].args[1]["frame"]["duration"] = 1 fig fig = go.Figure() fig.add_trace(go.Box(y=worldometer_asia['TotalCases'], boxpoints='all', name='Asia', fillcolor='blue', jitter=0.5, whiskerwidth=0.2)) fig.add_trace(go.Box(y=worldometer[worldometer['Continent'] == 'Europe']['TotalCases'], boxpoints='all', name='Europe', fillcolor='red', jitter=0.5, whiskerwidth=0.2)) fig.update_layout(title='亚洲与欧洲总病例分布', yaxis=dict(gridcolor='rgb(255, 255, 255)', gridwidth=3), paper_bgcolor='rgb(243, 243, 243)', plot_bgcolor='rgb(243, 243, 243)')

这是Plotly和另一个名为Pycountry的模块的最喜欢的功能之一。可以创建一个交互式全球地图,显示不同地区的冠状病毒死亡人数。强烈建议运行这段代码,看看这个地图是如何工作的。

import pycountry # ...(省略部分代码)... fig = px.scatter_geo(worldometer, locations="iso_alpha", color="Continent", hover_name="Country/Region", size="TotalCases", projection="orthographic") fig
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485