1 说明:
=====
1.1 HvPlot - 基于HoloViews的pandas、dask、streamz和xarray高级绘图API。
1.2 HvPlot就是一个python高级数据可视化图库。
1.3 其实就是基于boken的,一行代码搞定的数据可视化基本作图。
1.4 本次代码是基于微软编辑器vscode,源代码基于jupyter的;
1.5 顺带复习pandas的读取csv文件,更具有实际操作特性。
2 准备:
=====
2.1 官网:
https://www.cnpython.com/pypi/hvplot
https://github.com/holoviz/hvplot #数据来源这个包
2.2 环境:
华为笔记本电脑、深度deepin-linux操作系统、谷歌浏览器、python3.8和微软vscode编辑器。
2.3 安装:
pip install hvplot
#本机安装
sudo pip3.8 install hvplot
#本机推荐国内源安装
sudo pip3.8 install -i https://mirrors.aliyun.com/pypi/simple hvplot
#本机附带安装
sudo pip3.8 install intake
sudo pip3.8 install -i https://mirrors.aliyun.com/pypi/simple intake
2.4 软连接:
2.4.1 报警:
WARNING: The script colorcet is installed in '/usr/local/python3.8/bin' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
WARNING: The script hvplot is installed in '/usr/local/python3.8/bin' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
WARNING: The scripts intake and intake-server are installed in '/usr/local/python3.8/bin' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
2.4.2 建议建立软连接:本机未进行软连接也行,必要时如下
sudo ln -s /usr/local/python3.8/bin/hvplot /usr/bin/hvplot
3 注意:
=====
3.1 数据集:crime.csv,是来源github的包,位于这个位置:
hvplot-master/examples/data/crime.csv,我将其放在指定位置。
3.2 修改源代码,用微软编辑器运行,自动打开浏览器,在网页上显示,支持中文,超级简单,基本上一行核心代码即可。
3.3 本代码为注释版,里面有详细的讲解。
4 折线图:
=======
4.1 代码:
#line线图
import hvplot as hv
import hvplot.pandas as hvpd
import pandas as pd
#调用pandas读取csv数据
df = pd.read_csv("/home/xgj/Desktop/hvplot/crime.csv")
#注意hvplot.line是调用hvplot.pandas这个包
#1组数据的比较
#方法一:hvplot.line==折线图
#xx=df.hvplot.line(x='Year', y='Violent Crime rate')
#方法二:kind='line'==折线图
#3组数据
xx=df.hvplot(x='Year', y=['Violent Crime rate', 'Robbery rate', 'Burglary rate'],
value_label='Rate (per 100k people)', kind='line')
#浏览器展示xx图表
hv.show(xx)
4.2 操作和效果图:
5 散点图:
=======
5.1 代码:
import hvplot as hv
import hvplot.pandas as hvpd
import pandas as pd
#调用pandas读取csv数据
df = pd.read_csv("/home/xgj/Desktop/hvplot/crime.csv")
#注意hvplot.scatter是调用hvplot.pandas这个包
#xx=df.hvplot.scatter(x='Year', y='Violent Crime rate')
#1组数据
#xx=df.hvplot(x='Year', y='Violent Crime rate', kind='scatter')
#3组数据
xx=df.hvplot(x='Year', y=['Violent Crime rate', 'Robbery rate', 'Burglary rate'],
value_label='Rate (per 100k people)', kind='scatter')
#浏览器展示xx图表
hv.show(xx)
5.2 效果图:
6 柱状图:
=======
6.1 代码:
import hvplot as hv
import hvplot.pandas as hvpd
import pandas as pd
#调用pandas读取csv数据
df = pd.read_csv("/home/xgj/Desktop/hvplot/crime.csv")
#取前10行数据,由于数据较多
dd=df.head(10)
#3组数据
xx=dd.hvplot(x='Year', y=['Violent Crime rate', 'Robbery rate', 'Burglary rate'],
value_label='Rate (per 100k people)', kind='bar')
#浏览器展示xx图表
hv.show(xx)
6.2 效果图:
7 hexbin:
=======
7.1 代码:
import hvplot as hv
import hvplot.pandas as hvpd
import pandas as pd
#调用pandas读取csv数据
df = pd.read_csv("/home/xgj/Desktop/hvplot/crime.csv")
#只能一组数据展示
xx=df.hvplot.hexbin(x='Year', y='Violent Crime rate')
#浏览器展示xx图表
hv.show(xx)
7.2 效果图:
8 subplots:
========
8.1 代码:
import hvplot as hv
import hvplot.pandas as hvpd
import pandas as pd
#调用pandas读取csv数据
df = pd.read_csv("/home/xgj/Desktop/hvplot/crime.csv")
#3组数据,一个图
#xx=df.hvplot(x='Year', y=['Burglary rate', 'Violent Crime rate', 'Robbery rate'], value_label='Rate')
#3个子图subplots
xx=df.hvplot(x='Year', y=['Burglary rate', 'Violent Crime rate', 'Robbery rate'],
value_label='Rate', subplots=True, width=300, height=200)
#浏览器展示xx图表
hv.show(xx)
8.2 效果图:
9 附带2个gif:
==========
9.1 networkx
9.1.1 需要安装这个模块:
pip install networkx
9.1.2 代码:
import networkx as nx
import hvplot.networkx as hvnx
G = nx.karate_club_graph()
xx=hvnx.draw_spring(G, labels='club', font_size='10pt', node_color='club', cmap='Category10', width=500, height=500)
hvnx.show(xx)
9.1.3 效果图:
9.2 Streaming.ipynb
9.2.1 代码省略。基于jupyter。
9.2.2 需安装:
sudo pip install -i https://mirrors.aliyun.com/pypi/simple streamz
#本机安装
sudo pip3.8 install -i https://mirrors.aliyun.com/pypi/simple streamz
9.2.2 效果图:
===自己整理并分享出来===
喜欢的人,请点赞、关注、评论、转发和收藏。
本文暂时没有评论,来添加一个吧(●'◡'●)