在web端做数据或者地图可视化的工具很多。例如:CartoDB,Google Chart API,D3,plotly.py, Leaflet,Openlayers,Echarts,AntV的G2,L7,等等。实在是太多了。有机会我再一一介绍。
由于是为python&GIS专栏准备的文章。这次就简单介绍下pyecharts:Echarts的python库。
详细信息可以参考官网,这里简单引用部分内容。
ECharts,一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等),底层依赖矢量图形库 ZRender,提供直观,交互丰富,可高度个性化定制的数据可视化图表。
使用它可以制作很多炫酷的图表:
Echarts使用起来还是挺方便的,网上资料也不少。做简单的数据、地图可视化的话,还是值得一试。如果要引用地图的话,需要申请百度地图的API许可。
Github的地址点击这里
里面有详细的文档,摘录部分内容如下:
Echarts 是一个由百度开源的数据可视化,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可。而 Python 是一门富有表达力的语言,很适合用于数据处理。当数据分析遇上数据可视化时,pyecharts 诞生了。
为了演示的需要,我这里就使用jupyter-notebook。完整代码点击这里。
pip(3) install pyecharts
import pyecharts
print(pyecharts.__version__)
下面是pyecharts提供的一个例子, 代码如下:
from pyecharts.charts import Bar
bar = Bar()
bar.add_xaxis(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"])
bar.add_yaxis("商家A", [5, 20, 36, 10, 75, 90])
# render 会生成本地 HTML 文件,默认会在当前目录生成 render.html 文件
# 也可以传入路径参数,如 bar.render("mycharts.html")
bar.render()
但是要在notebook中显示的话,需要增加一些设置。具体可以看notebook的介绍。不想看说明的话,就直接看下面的代码吧。不过要注意的是。bar.load_javascript()
和bar.render_notebook()
需要在两个cell里面.
图表显示如下:
简单熟悉了pyecharts之后,就来绘制下地图吧。
from pyecharts.globals import CurrentConfig, NotebookType
CurrentConfig.NOTEBOOK_TYPE = NotebookType.JUPYTER_LAB
from pyecharts import options as opts
from pyecharts.charts import Map
class Faker:
provinces = ["广东", "北京", "上海", "江西", "湖南", "浙江", "江苏"]
@staticmethod
def values(start: int = 20, end: int = 150) -> list:
import random
return [random.randint(start, end) for _ in range(7)]
def map_base() -> Map:
c = (
Map()
.add("商家A", [list(z) for z in zip(Faker.provinces, Faker.values())], "china")
.set_global_opts(title_opts=opts.TitleOpts(title="Map-基本示例"))
)
return c
map_base().load_javascript()
map_base().render_notebook()
在这里只是简单试用下pyecharts的功能。大致了解下python与Echarts,更多功能还得查阅文档使用。数据可视化,地理数据的可视化还是一件比较有意思且赏析悦目的事。
最后简单放几个其他可视化的软件、库的截图吧。
其他的库估计大家耳熟能详了,就暂时不放了。