Altair是一个声明性交互性数据可视化2。0的python库
1 说明:
=====
1.1 python数据可视化1.0多指matplotlib,目前世界上已经进入数据可视化2.0时代。
1.2 Altair是一个声明性统计可视化库,基于Vega和Vega-Lite。
1.3 除了绘制基本图像,Altair强大之处在于用户可以与图像进行交互,包括平移、缩放、选中某一块数据等操作。
1.4 Altair中的数据是围绕Pandas Dataframe构建的。统计可视化最明显的特征是以整洁的Dataframes开始。
1.5 网上教程大多照抄国外的,或者是基于notebook和Jupyter Notebook,没有基于微软vscode编辑器的代码。
1.6 今天我就基于官网,对源代码进行修改和注释,在微软vscode编辑器下进行数据可视化。
中西合璧
2 准备:
=====
2.1 官网:https://altair-viz.github.io/ https://github.com/altair-viz/altair
2.2 安装:pip install altair vega_datasets #本机安装: sudo pip3.8 install altair vega_datasets #慢 #推荐,超快 sudo pip3.8 install -i https://mirrors.aliyun.com/pypi/simple altair vega_datasets #注意有个细节,新手可能需要注意,上述是一次性安装 altair 和vega_datasets数据集
3 官网的一张优势交互图
4 基本绘图:
=========
4.1 代码一:方法一import altair as alt import pandas as pd #数据 source = pd.DataFrame({ "a组": ["A", "B", "C", "D", "E", "F", "G", "H", "I"], "b组": [28, 55, 43, 91, 81, 53, 19, 87, 52] }) def plot(): #bar柱状图 #chart = alt.Chart(source).mark_bar().encode( #line折线图 #chart = alt.Chart(source).mark_line().encode( #point水泡点图 #chart = alt.Chart(source).mark_point().encode( #area面积图 chart = alt.Chart(source).mark_area().encode( x="a组",y="b组") chart.serve("0.0.0.0", 8888) if __name__ == "__main__": plot()
4.2 代码二:效果同上,方法二#方法二 #静态图 import altair as alt import pandas as pd source = pd.DataFrame({ "a组": ["A", "B", "C", "D", "E", "F", "G", "H", "I"], "b组": [28, 55, 43, 91, 81, 53, 19, 87, 52] }) #bar柱状图 #chart = alt.Chart(source).mark_bar().encode( #line折线图 #chart = alt.Chart(source).mark_line().encode( #point水泡点图 #chart = alt.Chart(source).mark_point().encode( #area面积图 #图区的宽和高设置,注意x和y中的a组和b组与上面source中的a组和b组同步,支持中文 chart = alt.Chart(source,width=500,height=500).mark_area().encode(x="a组",y="b组",) #启动浏览器服务 chart.serve("0.0.0.0", 8888)
4.3 操作方法和效果图:
4.4 调用数据集的静态图:
4.4.1 代码:#调用数据集 import altair as alt from vega_datasets import data source = data.barley() sss=alt.Chart(source).mark_bar().encode( x="sum(yield)", y="variety", color="site", order=alt.Order( # Sort the segments of the bars by this field "site", sort="ascending" ) ) sss.serve("0.0.0.0", 8888)
4.4.2 操作和效果图:
按ctrl+C退出终端服务器
5 高级交互性作图:
=============
5.1 代码:import altair as alt from vega_datasets import data source = data.cars() #设置刷子,交互性 brush = alt.selection(type="interval") points = alt.Chart().mark_point().encode( x="Horsepower:Q", y="Miles_per_Gallon:Q", color=alt.condition(brush, "Origin:N", alt.value("lightgray")) ).add_selection( brush ) bars = alt.Chart().mark_bar().encode( y="Origin:N", color="Origin:N", x="count(Origin):Q" ).transform_filter( brush ) #把点图和柱状图挂在一起 bbb=alt.vconcat(points, bars, data=source) #一起启动服务器 bbb.serve("0.0.0.0", 8888)
5.2 操作和效果图:
===python数据可视化2.0之altair基本介绍就结束了===
自己整理并分享出来,喜欢的就点赞、评论、关注、转发和收藏。
备注一下:喜欢的人多了,以后有空就会出教程。
育儿很累是什么原因?如果你在育儿的过程当中感到累了,那就一定是方法错了。教你一招非常简单的方法,只要你坚持做一个星期,就一定会有好的效果。孩子每天放学回到家找出他三个亮点,并且告诉他为什么。有家长就说
宝宝六个半月,湿疹非常严重,嘴周围,下巴都烂了,而且流黄色的液体,脸上,头上其他地方都蜕皮,感觉像树皮一样,很是心疼,医院看了几次不管用,我该咋办?会不会留疤?黄柏,苍术,薏苡仁,各30克,蛇床子,花椒,白矾各10克,硼砂1克,煮水装瓶备用,每天2次涂患处后撒点滑石粉。我家宝宝是三四个月的时候湿疹很厉害,小脸上红红的,流黄色的液体,蜕皮,
有没有人和我一样奔四了还拼二胎,怀得小心翼翼胆战心惊的?我42岁生的二胎,但不是特意要的,是意外怀的当时根本不想要,等发现去医院大夫说孩子太大了,刮宫危险你等到五六月再来做引产吧。结果不到六个月我去的,大夫用手在肚子上摸了摸,摸孩子的头
谢谢这世间,所有不动声色的善良下午210,送走俩宝,我照例到小阳台待着,晒晒太阳,看看书,准备睡一觉。手机铃声突兀的响起,是个陌生号码,犹豫了一下,还是接听,里面却传来大宝的哭腔妈妈,我把别人车撞了,撞坏了。瞬
问老师,孩子没有好习惯怎么办?答人生本能是趋利避害离苦得乐,让孩子从小养成日常惯例,所谓没有规矩不成方圆。孩子要从一种习惯养成另外一种习惯,需要经过下面三个阶段1。被坚持阶段第一个21天,一种习惯改为另一种习惯
宝妈情绪失控怎么办?宝妈带娃真的不容易,难免有失控的时候,但再难也得学会控制情绪,否则后悔的往往还是自己!情绪来的时候,最好深呼吸,或者直接转身离开一会。为人父母就是一场修行呀!我和我儿子说,妈妈其实
头条玩家都是大咖,我想了解一下,你们如何教育孩子?成功吗?孩子的启蒙老师,就是父母。把遗传基因去掉,孩子基本都是二传人。孩子的好坏,以及长大以后,大都象父母。判逆的也有,多数都是离开父母后,单打独斗的结果。小时父母约束,学校里面的社会教育
说说儿童近视和护眼神菜红萝卜炒鸡蛋现如今,近视的小孩子越来越多,更令人担忧的是越发成低龄化走势。就拿和我女儿同岁的亲戚家孩子来说,一个经常刷抖音,一个爱偷偷玩游戏,才二年级就已经有轻度的近视,而我的女儿
爱拖延的孩子,家长烦恼多她是别人眼中的好孩子,上三年级之前都是严格要求自己学习,比较认真,就是拖延症比较严重。一直想让她养成一个好习惯,但是现在一直做不到,今天早上我感到很疲惫,放假了,他也很放松自己,我
如何做智慧的家长?帮助孩子平稳度过青春期?现在我们一起探讨如何做智慧的父母,让孩子平稳正常地度过青春期。让家长和孩子都能找到一个好的相处方法。也许我们很多家长都第一次做家长那么学习点这个时期孩子的身心发展规律和心理知识看来
上幼儿园小朋友放学回来都干啥呢?今天没上班,4点放学接我小侄子回家,回来都得脱光光,拿起平板都开始玩,玩游戏,233乐园,现在5岁小孩都这样吗,玩手机玩平板,玩的特别入迷,我说别玩了,小孩问为啥,我说对眼睛不好,