当前位置: 首页 > 后端技术 > Python

初学者必看:Python数据图表可视化+案例详解

时间:2023-03-26 14:57:25 Python

对于人类来说,模式和文本是两种表达信息的方式。模式应该比文本更早发明。现代考古学家经常在洞穴中发现原始人。一些岩画。一般来说,图案比文本更具视觉冲击力和表现力,所以在计算机世界中,我们通常喜欢将文本数据转换成图形数据,以便更准确有效地向他人传达数据信息。今天我们就来聊一聊如何用Python将数据转换成可视化图表。本文知识点:pyecharts介绍与安装pyecharts创建第一张图表pyecharts实际数据应用pyecharts介绍与安装,涵盖多种图表,满足各种业务需求,现已命名为ApacheECharts(被Apache基金会接管)。而pyecharts是ECharts在Python中的实现。它的核心原理是写一个Python库,封装了ECharts各种图表的基本操作,然后通过渲染机制输出一个包含JS代码的HTML文件。核心思想是借用ECharts的底层库,只用Python封装一次,方便本地应用使用。安装pyecharts很简单,直接pippipinstallpyecharts现在pyecharts最新版本是1.7.1,需要Python3.6+环境才能运行。pyecharts创建第一个图表pyecharts的使用非常简单,导入需要的图表组件,设置相关参数,渲染即可。现在让我们用几行代码创建一个直方图。上面的代码会在程序当前运行目录下创建一个render.html文件来展示图表。下面解释一下代码:frompyecharts.chartsimportBar用于导入Bar类,Bar是用于直方图处理的类。bar=Bar()实例化Bar类,命名为bar。bar.add_xaxis()方法用于添加直方图的X坐标数据,可以接收一个list或者tuple数据。bar.add_yaxis()方法用于添加条形图的Y坐标数据,可以接收一个列表或元组数据。bar.render()用于呈现生成的HTML内容。如果不传递参数,则默认文件名为render.html,或者可以将自定义文件名作为参数传入。我们先看一下render.html的源码。通过源码可以看出,其实就是一堆HTML+JS代码的实现。通常情况下,我们不需要关心render.html的源码内容,只需要生成后直接在浏览器中显示即可。介绍完pyecharts的基本使用之后,我们再举一些实际的例子。pyecharts的实际数据应用首先,我想到了以2019年成都统计年鉴数据为数据源,展示一系列图表。接下来,我将选取几组具体的数据进行图表展示。第一组,我选择成都历年主要社会经济指标人均水平的数据。如下图:提取GDP数据,代码如下:我们可以看到代码和前面的例子没有太大变化,无非就是改变了x轴和y轴的数据。最后,通过图表的展示,我们可以发现,在2000年之后的10年间,成都的人均GDP发生了翻天覆地的变化。数据太薄?让我们添加一个居民储蓄余额来看看。直方图参数的基本规则是只有一个X轴和多个Y轴。下面我们来看一下两个Y轴数据的表现。毫不夸张的说,我的储蓄余额一定严重拖累了成都人民……那我们做个饼图来分析一下人口数据吧。数据来源如下。最终代码及效果如下:饼图的代码和直方图略有不同,我来说明一下。首先,引入了一个名为opts的新库。该库主要用于图表参数设置。这里我们使用c.set_global_opts(title_opts=opts.TitleOpts(title="成都城市男女比例"))设置图表标题为成都男女人口比例,这种写法不够优雅pyecharts包。只要记住这种写作方式。set_global_opts()函数可以用来设置标题、工具栏、提示文字等,第6行有一个zip(keys,values)操作,zip()函数用来接受一个可迭代对象作为参数,将对象中对应的元素打包成元组,然后返回由这些列表组成的元组。简单来说,zip()函数可以用来重组多个迭代对象。重组过程中,相同元素下标的数据会被重新打包合并,比如["a","b","c"]和[1,2,3]这两个列表压缩后,你会得到一个包含三个元组('a',1),('b',2),('c',3)的对象,因为你在zip()之后直接得到的是一个可迭代对象,而不是列表或元组数据.所以如果我们想直接使用结果作为数据,我们需要进行类型转换list(zip(**args))。所以很明显,这个例子中zip()的结果应该是('male',7322452),('female',7438028)。这些数据正是饼图所需要的。第9行有一个c.add("",list(data))代码,Pie类的add()函数用于绘制饼图需要的参数。至于为什么第一个参数是空字符串,其实是因为add()函数的第一个参数叫series_name,用来表示系列的名称,对图表显示没有用,所以我设置它是一个空字符串现在,你可以设置任何你想要的。最后,list(data)没什么好说的,它只是将zip结果转换成一个列表。在第11行的render()中,我自定义了输出文件名pie.html。其实我们也可以在一个页面上提供多个图表。可以使用多个函数将所有使用图表的代码包裹起来,然后统一渲染。最终效果如下:今天我们主要讲了使用pyecharts生成各种图表的基础,还有各种炫酷的图表效果等着我们一一实现,比如用地图展示人均消费水平和各地区的消费品种。文渊网络仅供学习使用,如有侵权,请联系删除。我的公众号【Python圈】汇集了优质的技术文章和经验总结。学习Python的路上肯定会遇到困难,不要慌张,我这里有一套学习资料,包括40+电子书,600+教学视频,涉及Python基础、爬虫、框架、数据分析、机学习等等,别怕学不会!