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

Python超级数据可视化库:Altair

时间:2023-03-26 11:31:24 Python

用Python做数据可视化你会用什么库来做?今天给大家分享一下Python数据可视化库中的一员Altair!它非常简单、友好,并且建立在强大的Vega-LiteJSON规范之上,我们只需要简短的代码就可以生成美观有效的可视化效果。什么是牵牛星?Altair是一个用于统计可视化的Python库。它在GitHub上获得了3000多个Star。有了Altair,我们可以把更多的精力和时间花在理解数据本身和数据的意义上,把自己从复杂的数据可视化过程中解放出来。简单来说,Altair是一种视觉语法和声明性语言,用于创建、保存和共享交互式视觉设计。它可以使用JSON格式描述视觉外观和交互过程,并生成基于Web的图像。让我们来看看用Altair制作的可视化效果吧!Altair的优势Altair可以通过聚合、数据转换、数据交互和图形组合来全面识别、理解和分析数据。这些过程可以帮助我们增加对数据本身和数据意义的理解维度,培养直观的数据分析思维。总的来说,Altair有以下几个方面的特点。基于图形语法的声明性PythonAPI。Altair的Python代码是根据Vega-Lite的JSON语法规则生成的。在已发布的JupyterNotebook、JupyterLab和nteract中展示统计可视化。可视化可以导出为PNG/SVG格式的图片,HTML格式的网页可以独立运行,也可以在在线Vega-Lite编辑器中查看运行效果。在Altair中,使用过的数据集以“整齐的格式”加载。Pandas中的DataFrame是Altair使用的主要数据结构之一。Altair对PandasDataFrame的加载效果不错,加载方式简单高效。例如使用Pandas读取Excel数据集,使用Altair加载Pandas返回值的实现代码如下:Sales",parse_dates=["Year"])alt.Chart(data)小测——制作条形图Altair强调变量类型的区分和组合。变量的值是数据,有数值、字符串、日期等形式。变量是数据的存储容器,数据是变量存储单元的内容。另一方面,从统计抽样的角度来看,变量就是总体,数据就是样本,这就需要用样本来研究和分析总体。不同变量类型相互组合生成统计图形,更直观地理解数据。根据不同变量类型的组合,变量类型的组合可以分为以下几种。标称变量+定量变量。时间变量+数量变量。时间变量+名义变量。定量变量+定量变量。其中,时间变量是一类特殊的定量变量,可设为名义变量(N)或序数变量(O),实现时间变量的离散化,从而形成变量组合。这里用名义变量+定量变量之一来解释。如果将定量变量映射到x轴,名义变量映射到y轴,仍然使用列作为数据的编码样式(markerstyle),就可以绘制条形图。条形图可以更好地利用长度变化来比较商品销售利润的差距,如下图所示。对比柱状图的实现代码,柱状图的部分实现代码如下。chart=alt.Chart(df).mark_bar().encode(x="profit:Q",y="product:N")是不是很简单?分享一个学习Python的z公众号给大家——Python编程学习圈,有海量技术干货分享,资料免费领取,不要错过!复杂的图形也非常简单。下面来演示一下划分,展示不同年份的月平均降雨量吧!我们可以使用面积图来描述西雅图从2012年到2015年每个月的平均降雨量统计数据。接下来对平均降雨量进一步拆分,以年份为划分标准,将特定年份的月平均降雨量以梯形图展示,如下图所示。核心实现代码如下。…chart=alt.Chart(df).mark_area(color="lightblue",interpolate="step",line=True,opacity=0.8).encode(alt.X("month(date):T",axis=alt.Axis(format="%b",formatType="time",labelAngle=-15,labelBaseline="top",labelPadding=5,title="month")),y="mean(precipitation):Q",facet=alt.Facet("year(date):Q",columns=4,header=alt.Header(labelColor="red",labelFontSize=15,title="2012年至2015年西雅图月降水量",titleFont="Calibri",titleFontSize=25,titlePadding=15))0)...在alt.X()类中,使用month提取时间变量date的月份,映射到position通道的x轴上,并使用汇总函数mean()计算平均降雨量,使用折线作为编码数据的标记样式。在实例方法encode()中,使用分区channelfacet设置分区,以year提取时间变量date的年份作为分区标准,对2012-2015年各月平均降雨量进行拆分,使得每年不同月份的平均降雨量显示在相应的子图上。使用关键字参数columns设置小节的列数,使用关键字参数header设置小节序号和小节标题的相关文字内容。具体使用Header框架wrapper来设置文本内容,即使用类alt.Header()的关键字参数来完成设置文本内容的任务。关键字参数的含义如下。labelColor:序列号标签的颜色。labelFontSize:序列号标签的大小。标题:小节标题。titleFont:分区字体。titleFontSize:子区域的字体大小。titlePadding:小节标题和序号标签之间的空格。