创建智利地区的svg choropleth

clchoropleth的Python项目详细描述


https://img.shields.io/pypi/v/clchoropleth.svg

氯氯丙烷

它创建了一个智利地区的svg choropleth。

说明

你需要一本字典或一只熊猫。用这些值串联起来索引或键可以是comuna名称和int值。包使用“clcomuna”获取comuna代码,并为值创建bin。即使数据中有孔国家的孔,也可以指定孔国家的孔区域。

安装

pip3 install clchoropleth

要求

  • clcomuna
  • 熊猫
  • bf4(美化组)
  • Python3.3+

用法:

>>> import clchoropleth

示例

import clchoropleth
arica = {'ARICA': 27, 'CAMARONES': 13, 'GENERAL LAGOS': 10, 'PUTRE': 8}
data = clchoropleth.prepare_data(arica)
clchoropleth.run(data, "arica.svg", "15")

这将保存类似于以下内容的svg文件:

arica.png

准备数据

def prepare_data(data, t=70, noNone=False):

准备数据集。如果是字典,它会把它变成pandas.series对象。 它检查comuna名称并使用其代码。可以指定clcomuna包的阈值。 它按comuna代码聚合,因此,对于exmaple,如果有{'arica':10,'Arica':11,'ARICA':12},它将返回'arica':33作为pd.series。 它可以将“无”降低到阈值以下。 返回PD序列

arica = {'ARICA': 27, 'CAMARONES': 13, 'GENERAL LAGOS': 10, 'PUTRE': 8, 'arica': 33}
clchoropleth.prepare_data(arica)
>>>
    15101    60
    15102    13
    15201     8
    15202    10
    dtype: int64

select_comunas_from_region

def select_comunas_from_region (data, region):

给定数据集(在准备数据之后),返回一个子集,其中只有来自给定区域的comuna“region”必须是字符串

data = {'ARICA': 27, 'CAMARONES': 13, 'GENERAL LAGOS': 10, 'PUTRE': 8, 'arica': 33, 'iquique': 123, 'santiago': 999}
data_p = prepare_data(data)
data_p
>>>
    01101    123
    13101    999
    15101     60
    15102     13
    15201      8
    15202     10
    dtype: int64
select_comunas_from_region(data_p, "15")
>>>
    15101    60
    15102    13
    15201     8
    15202    10
    dtype: int64

离散化

def discretize(data, bins=5, quantile=False):

将数据值更改为箱号。您可以指定要使用的存储箱数量,以及是否使用基于“五分位数”的剪切。

arica
>>>
    15101    60
    15102    13
    15201     8
    15202    10
    dtype: int64
discretize(arica)
>>>
    15101    4
    15102    0
    15201    0
    15202    0
    dtype: category
    Categories (5, int64): [0 < 1 < 2 < 3 < 4]
discretize(arica, 4, True)
>>>
    15101    3
    15102    2
    15201    0
    15202    1
    dtype: category
    Categories (4, int64): [0 < 1 < 2 < 3]

制作地图

def make_map(data, filename, region, colors='orange'):

它创建choropleth映射并将其保存到文件名目的地。

参数:

数据:包含数据的pd序列索引必须是代码,值必须是箱号。

文件名:我们要保存的地图的文件名。

region:我们需要再次指定区域,作为字符串(“09”),以打开原始svg文件并对其进行修改。

颜色:如果是5个预设颜色列表之一,则可以是字符串: 橙色,蓝色,绿色,红色,瘙痒。或者它可以是一个字符串列表,每个字符串都是一种颜色。例如:['ffffcc'、'c2e699'、'78c679'、'31a354'、'006837'] 它的长度必须与垃圾箱的数量相同。 更多颜色:http://colorbrewer2.org/

返回:
它保存地图。无返回值。

运行

def run(data, filename, region, colors='orange', bins=5, quantile=False):

是一个包装函数,它运行模块的所有其他函数,除了“prepare_data”不退还任何东西。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Spring数据JPA+Hibernate在不首先找到父实体的情况下保存子实体   php Java:如何从CLI接收命令   spring为java中的导出数据创建访问文件   java在Windows 8.1上安装Play Framework   java Spring启动白标签错误页面(类型=未找到,状态=404)   java如何在单击时从数组中绘制?   java fn:substringAfter()上次出现   java在IFR语句中使用方法返回   java onPause()或onStop()的名称   对关联对象的关联对象具有条件的java HQL查询   java只打印一次总值,无需迭代   java如何使用抽象Uri buildOn()方法?   如何在Java中执行sudo命令并获得错误输出?   java反射:避免对getConstructor(类<?>…)的未经检查的警告调用作为原始类型类的成员   Java:如何从类中创建的对象调用类方法?   java如何在电子邮件中嵌入图像?   java如何在Android上启用详细GC?   java什么是串行版本id?