shop_map.py

  1. from pyecharts import Style
  2. from pyecharts import Geo, Map
  3. city_list = []
  4. f = open("./clear_phone_honor.txt", "r", encoding="utf-8")
  5. rows = f.readlines()
  6. try:
  7.     for row in rows:
  8.         row_list = row.split(",")
  9.         if len(row_list) == 5:
  10.             city = row_list[4].split(" ")[0].rstrip("\n")
  11.             city_list.append(city)
  12. except Exception as e:
  13.     print("error",e)
  14. finally:
  15.     f.close()
  16.  
  17. def get_city_numb(citys):
  18.     """
  19.     计算城市列表中的城市数量
  20.     :param citys: 城市列表
  21.     :return: 字典{城市名:数量}
  22.     """
  23.     city_dict = {}
  24.     for city in set(citys):
  25.         city_dict[city] = citys.count(city)
  26.     return city_dict
  27.  
  28. data_list = []
  29. for key in get_city_numb(city_list):
  30.     data_list.append((key,get_city_numb(city_list)[key]))
  31.     
  32. style = Style(
  33.     title_color="#fff",
  34.     title_pos="center",
  35.     width=1200,
  36.     height=600,
  37.     background_color="#404a59"
  38. )
  39. geo = Geo("荣耀10商铺地理位分布","数据来源于淘宝",**style.init_style)
  40. attr,value = geo.cast(data_list)
  41. geo.add("",attr,value,visual_range=[0,30],
  42.         visual_text_color="#fff",symbol_size=20,
  43.         is_visualmap=True,is_piecewise=True,
  44.         visual_split_number=5)
  45. geo.render("荣耀10商铺数量地理位分布.html")
  46. map = Map("荣耀10商铺所在省份",width=1200,height=600)
  47. map.add(
  48.     "",
  49.     attr,
  50.     value,
  51.     maptype="china",
  52.     is_visualmap=True,
  53.     visual_text_color="#000",
  54. )
  55. map.render("荣耀10商铺所在省份.html")

程序分析:

(1)第1~2行导入相关的库,pyecharts用于制作图表

(2)4~16行,将clear_phone_honor.txt文件中的信息中城市信息放到city_list列表中

(3)19~28行,计算city_list中的城市数量,并将数据存储到city_dict字典中

(4)第31~34行,将city_dict中的数据以元组的形式存到data_list中,便于后面的作图使用。

(5)第35~41行,设置地图的标题样式

(6)第43~49行,制作商铺的地理位置分布图

(7)第50~60行,制作商铺数量所在的省份位置分布图

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
`care_map.pb` 是一个文件,它可能是使用 Protocol Buffers 格式编码的二进制文件。Protocol Buffers 是一种用于序列化结构化数据的语言无关、平台无关、可扩展的机制。 如果你需要使用 `care_map.pb` 文件,你可能需要使用 Protocol Buffers 的库来解析和处理它。以下是一些常见的操作步骤: 1. 安装 Protocol Buffers 库:使用 `pip` 命令安装 `protobuf` 库。 ``` pip install protobuf ``` 2. 创建 `.proto` 文件:如果你没有 `.proto` 文件,你需要创建一个来描述数据结构。这个文件定义了消息的字段和格式。例如,`care_map.proto`。 3. 使用 `protoc` 工具编译 `.proto` 文件:使用 `protoc` 命令将 `.proto` 文件编译成相应语言的代码。例如,如果你使用 Python,可以执行以下命令: ``` protoc --python_out=. care_map.proto ``` 4. 使用生成的代码解析 `care_map.pb` 文件:使用相应语言的库和生成的代码来解析和处理 `care_map.pb` 文件。在 Python 中,可以使用 `protobuf` 库进行解析。示例代码如下: ```python import care_map_pb2 # 读取 care_map.pb 文件 with open('care_map.pb', 'rb') as f: data = f.read() # 解析 care_map.pb 文件 care_map = care_map_pb2.CareMap() care_map.ParseFromString(data) # 使用解析后的数据 # 例如,访问某个字段: print(care_map.field_name) ``` 这只是一个简单的示例,实际使用中可能需要根据 `care_map.proto` 文件的定义和需求进行相应的操作。确保你有正确的 `.proto` 文件和相应的编译代码来解析和处理 `care_map.pb` 文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

帅帅的Python

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值