powerbisvg地图无法着色
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了powerbisvg地图无法着色相关的知识,希望对你有一定的参考价值。
参考技术A powerbisvg地图无法着色等值线图)使用明暗度、颜色或图案来显示不同地理位置或区域之间的值在比例上有何不同。 可使用从浅(不太频繁/较低)到深(较频繁/较多)的明暗度快速显示相对差异。

发送到必应的数据
Power BI 与必应相集成,提供默认地图坐标(一个称为地理编码的过程)。 在 Power BI 服务或 Power BI Desktop 中创建地图可视化效果时,“位置” 、“纬度” 和“经度” 存储桶中的数据(用于创建该可视化效果)将发送到必应。
你或管理员可能需要更新防火墙,以允许访问必应用来地理编码的 URL。 这些 URL 是:
https://dev.virtualearth.net/REST/V1/Locations
https://platform.bing.com/geo/spatial/v1/public/Geodata
https://www.bing.com/api/maps/mapcontrol
有关发送到必应的数据的详细信息,以及提高地理编码成功率的提示,请参阅地图可视化效果的提示和技巧。
何时使用着色地图
着色地图适用情况:
要在地图上显示定量信息。
要显示空间模式和关系。
你的数据已进行标准化处理。
处理社会经济数据时。
当定义的区域很重要时。
要获取跨地理位置的分布的概况。
先决条件
Power BI Desktop
Power BI 服务
本教程使用“Sales and Marketing Sample”。
将示例 PBIX 文件下载到桌面。
打开 Power BI Desktop,然后在菜单栏中选择“文件”>“打开报表”。
浏览到“销售和市场营销示例”PBIX 文件,然后选择“打开”。
在左侧窗格中,选择“报表”图标,在“报表”视图中打开文件。
选择 来添加新页面。
备注
与 Power BI 同事共享报表时,你和这位同事都应具有独立的 Power BI Pro 许可证,并且应将报表保存在 Premium 容量中。
创建着色地图
从“字段”窗格中,选择“地区”>“状态”字段。

选择“着色地图”图标以将图表转换为着色地图。 请注意,州 现在位于位置 框中。 必应地图使用位置 框中的字段创建地图。 该位置可以是各种有效位置:国家/地区、州/省/市/自治区、县、市、邮政编码或其他邮政编码等。必应地图可提供世界各地的着色地图形状。 如果“位置”框中没有有效的条目,则 Power BI 无法创建着色地图。

筛选地图使其只显示美国大陆。
a. 在“可视化效果”窗格左侧,找到“筛选器” 窗格。 如果该窗格已最小化,则展开它
b. 将鼠标悬停在“州”上方,然后选择 v 形展开图标。

c. 在“全选”旁边添加复选标记,并删除 AK 旁边的复选标记。

选择“画图刷”图标,打开“格式设置”窗格,然后选择“填充颜色”。

选择“默认”颜色旁边的“fx”。

通过“默认颜色 - 填充颜色”屏幕决定将如何设置着色地图的阴影。 可供使用的选项包含底纹要基于的字段和底纹应用方式。 在本例中,我们使用的是“SalesFact>情绪”字段,并将情绪的最小值设为红色,将最大值设为绿色 。 介于最小值和最大值之间的值将显示绿色和红色阴影。 屏幕底部的图解显示了将要使用的颜色范围。
地图可视化:geopandas绘制拓扑着色地图
❝本文示例代码及文件已上传至我的
❞Github
仓库https://github.com/CNFeffery/DataScienceStudyNotes
1 简介
我们在绘制某些地图时,为了凸显出每个独立的区域,需要满足拓扑着色
要求,即所有相邻的区域不可以用同一种颜色绘制
,以前的手绘地图需要绘制者自行思考设计具体的着色规则,而现如今通过计算机的辅助,我们可以快速生成大量的着色方案。
今天我们就来学习配合geopandas
如何快速实现地图的拓扑着色。
2 基于mapclassify的地图拓扑着色
对于着色方案的生成,我们需要使用到mapclassify
这个第三方库,以前我的geopandas
系列文章分层设色篇也介绍过其中的诸多功能,而本文需要使用到其特殊的greedy
功能。
以中国县级单元矢量边界数据为例,它包含了共2900个县级单元的行政区划面矢量要素:
对于这样一个典型的面要素众多的地图,利用mapclassify.greedy()
,我们可以基于面要素之间的邻接拓扑关系,快速生成一定配色数量的方案出来,greedy()
的主要参数如下:
gdf:GeoDataFrame型,用于传入待处理的地理数据框
strategy:str型,用于设定拓扑着色所采取的具体策略,默认为
balanced
(这也是QGIS
中拓扑着色所使用的方法),其余可选策略有'largest_first'
、'random_sequential'
、'smallest_last'
、'independent_set'
、'connected_sequential_bfs'
、'connected_sequential_dfs'
、'connected_sequential'
、'saturation_largest_first'
、'DSATUR'
等,详细介绍见https://networkx.github.io/documentation/stable/reference/algorithms/generated/networkx.algorithms.coloring.greedy_color.html
balance:str型,当
strategy='balanced'
时,用于设定如何进行“平衡”着色,默认为'count'
,可选项如下,其中除了'count'
方式以外,其余方式均需要输入的GeoDataFrame
为投影坐标系:count:尽量保持每种颜色对应的面要素数量平衡
area:尽量保持每种颜色对应的面要素面积之和平衡
centroid:尽量保持每种颜色对应的面要素之间「重心距离」平衡
distance:尽量保持每种颜色对应的面要素之间「拓扑距离」平衡
min_colors:int型,当
strategy='balanced'
时,用于设置色彩方案「至少」的色彩数量,最后运算产生的色彩划分结果可能会大于这个参数sw:str型,用于设定拓扑邻接关系判定策略,
'rook'
表示「共边邻接」,'queen'
表示「共点邻接」,默认为'queen'
min_distance:数值型,默认为
None
,有时由于数据质量、精度的原因,可能会导致肉眼看起来的邻接实际上仍然存在一定的“间距”,这时就可以使用min_distance
参数来设定距离阈值来帮助greedy
捕捉相邻面要素关系,即面要素两两之间拓扑距离小于min_distance
时也视作“邻接”
知晓了greedy()
的主要参数后,我们下面来演示如何使用它来辅助制作拓扑着色地图。
首先我们需要向greedy()
中传入对应的面要素GeoDataFrame
,greedy()
会根据我们的参数设定为每一个面生成一个标签,我们只需要将此标签列作为绘图着色映射列即可,可以看到最终得到的标签方案中共有7种不同标签,虽然按照四色问题的猜想,任何拓扑着色地图只需要4种颜色即可完成色彩填充,但在有限的计算时间内,greedy()
给出了还不错的方案:
按照标签进行颜色分配:
放大仔细发现,每个邻接的区域的确实现了颜色不重合:
而如果你希望用自定义色彩值来配合标签字段进行映射,则可以参考我下面的做法,将具体的颜色值譬如16进制色彩字符串传入color
参数,这里使用到以前介绍过多次的配色库palettable
:
以上就是本文的全部内容,欢迎在评论区与我进行讨论~
觉得还不错就给我一个小小的鼓励吧!
以上是关于powerbisvg地图无法着色的主要内容,如果未能解决你的问题,请参考以下文章