数据可视化 您所在的位置:网站首页 echarts地图背景炫酷 数据可视化

数据可视化

2023-06-14 15:11| 来源: 网络整理| 查看: 265

目录

前言:

pyecharts概念:

一、效果展示

 二、所需工具与环境配置

三、实操过程

1.导入相关库

2.构造数据

3.地图显示设置

4.解决方法:配置分段色阶

5.除此之外,我们还可以编写一个能够生成pieces参数对象的函数

 四、总结

前言:

博主只是一个普普通通的计算机专业女大学生,虽然说学的专业是计算机,但是技术学的不是很好,老师说期末考核要写一个博客,我也不知道要写什么,就迷迷糊糊写了这篇map类色阶地图,有什么说的不对的地方,还请大家多多指点,谢谢大家。

pyecharts概念:

1、pyecharts 是一个用于生成 Echarts 图表的类库。Echarts 是百度开源的一个数据可视化 JS 库。用 Echarts 生成的图可视化效果很是棒,pyecharts 是为了与 Python 进行对接,方便在 Python 中直接使用数据生成图。使用pyecharts能够生成独立的网页,也能够在flask、django中集成使用。

2、pyecharts中提供了两种地图,map地图和geo地理坐标系,两者都能够满足地图显示需求,但在实际应用过程中,需要调整的地方还有很多。本文主要介绍关于map显示调整,因为需求为图片输出,所以不涉及交互效果部分内容。

一、效果展示

本文使用python库——pyecharts绘制地图,修改标签样式并调色。

 二、所需工具与环境配置 打开Anaconda,下载pyecharts插件 pip install pyecharts 版本检查 pyecharts.__version__ 使用map需要在Anaconda中下载地图拓展包(新版Anaconda已经不需要手动下载)map是实现地图区域可视化,是区域可视化,需要安装以下额外拓展包 pip install echarts-countries-pypkg pip install echarts-china-provinces-pypkg pip install echarts-china-cities-pypkg pip install echarts-china-counties-pypkg pip install echarts-china-misc-pypkg pip install echarts-united-kingdom-pypkg 三、实操过程 1.导入相关库 from pyecharts import options as opts from pyecharts.charts import Map 2.构造数据

地图对象接收的数据需要是二维列表。[[省份,数据],...,...]

provinces = ['广东省','广西壮族自治区','湖南省','江西省'] values = [20,50,80,1000] data = [list(z) for z in zip(provinces, values)] data 3.地图显示设置 c = ( Map() .add("", data , "china") .set_global_opts(title_opts=opts.TitleOpts(title="Map-基本示例"), visualmap_opts=opts.VisualMapOpts( range_color = ['yellow','red'], max_ = 1000 ), # 色阶配置项,用颜色表示数字大小 ) ) c.render_notebook()

一顿操作猛如虎,随后我们就得到了下面这张图

得到这张图以后,我们就会发现,这图做出来的效果和我们预想的效果不一样啊,这湖南、广东、广西的图形颜色差异性都没有体现出来。

4.解决方法:配置分段色阶

调用色阶配置项visualmap_opts来对不同数据对应的区域进行颜色配置。

# 分段色阶基本配置方法 pieces = [ {'max': 50, 'label': '100以下', 'color': 'yellow'}, {'min': 50, 'max': 100, 'label': '100以下', 'color': 'orange'}, {'min': 100, 'label': '100以上', 'color': 'red'} # 有下限无上限 ] c = ( Map() .add("", data , "china") .set_global_opts(title_opts=opts.TitleOpts(title="Map-基本示例"), visualmap_opts=opts.VisualMapOpts( is_piecewise = True, pieces = pieces ), # 色阶配置项,用颜色表示数字大小 ) ) c.render_notebook()

配置好以后,我们就得到了一个新的预想图

5.除此之外,我们还可以编写一个能够生成pieces参数对象的函数 方法一:颜色用循环生成,其他参数手写 import numpy as np pieces = [ {'max': 1, 'label': '0以下', 'color': ''}, {'min': 1, 'max': 10, 'label': '1-10', 'color': ''}, {'min': 10, 'max': 20, 'label': '10-20', 'color': ''}, {'min': 20, 'max': 30, 'label': '20-30', 'color': ''}, {'min': 30, 'max': 50, 'label': '30-50', 'color': ''}, {'min': 50, 'max': 100, 'label': '50-100', 'color': ''}, {'min': 100, 'max': 200, 'label': '100-200', 'color': ''}, {'min': 200, 'label': '200以上', 'color': ''} # 有下限无上限 ]

设置颜色的等差数列

color = [f'rgb(255,{i},255)' for i in np.linspace(255,150,8)]

把颜色代码赋值到pieces中

for i in range(8): pieces[i]['color'] = color[i] pieces 方法二:所有参数均用循环生成 min_list = [0,10,20,30,50,100,200] max_list = [min_list[i+1] if i=0 : color_list = [f'rgb({i},{g},{b})' for i in np.linspace(c_begin,c_end,len(min_list))] elif r>=0 and g==-1 and b>=0: color_list = [f'rgb({r},{i},{b})' for i in np.linspace(c_begin,c_end,len(min_list))] elif r>=0 and g>=0 and b==-1: color_list = [f'rgb({r},{g},{i})' for i in np.linspace(c_begin,c_end,len(min_list))] else: print(r'目前只能指定一个变化的颜色参数,请在r\g\b中选一个并设置其参数为-1,其他设置为>0的定值。') pieces = [{'min': a,'max':b,'label':c,'color':d} if b!=0 else {'min': a,'label':c,'color':d} for a,b,c,d in zip(min_list,max_list,label_list,color_list)] return pieces

地图显示设置

pieces = get_pieces( min_list = [0,50,100,200,500], r = 0, g = -1, b = 255, c_begin = 255, c_end = 100 ) c = ( Map() .add("", data , "china") .set_global_opts(title_opts=opts.TitleOpts(title="Map-基本示例"), visualmap_opts=opts.VisualMapOpts( is_piecewise = True, pieces = pieces ), # 色阶配置项,用颜色表示数字大小 ) ) c.render_notebook()

不管是运用哪一种方法最终都能实现预想图

 

 四、总结

这是我学习数据可视化的内容之一,这也是我第一次发表博客文章,我知道自己写的这篇文章呈现的内容不是很好,我自己本身也有很多的不足之处,还请大家多多指点指点。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有