成功实现批量绘制确诊病例活动轨迹python

该博客展示了如何利用Python的csv模块读取济南公交数据,结合folium库绘制公交线路图,并通过MarkerCluster展示公交站点。地图使用了高德地图的API,并保存为html文件供查看。
import csv

import numpy as np
import folium
from folium import plugins







def PlotLineOnMap():
    Lat = []
    Lon = []
    print(type(Lat))
    fn = '济南公交.csv'
    with open(fn) as csvFile:
        csvDictReader = csv.DictReader(csvFile)
        for row in csvDictReader:
            print(row['经度'], row['维度'])
            Lat.insert(0,float(row['维度']))
            Lon.insert(0,float(row['经度']))
            print(Lat)


    # 给出的坐标系为GCJ-02,如果需要测试google地图,需要进行坐标转换

    tri = np.array(list(zip(Lat, Lon)))

    san_map = folium.Map(
        location=[36.641254, 117.068689],
        zoom_start=16,
        # 高德街道图
        tiles='http://webrd02.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=7&x={x}&y={y}&z={z}',
        # tiles='http://webst02.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}', # 高德卫星图
        attr='default')

    folium.PolyLine(tri, color='#3388ff').add_to(san_map)
    marker_cluster = plugins.MarkerCluster().add_to(san_map)
    for lat, lon in zip(Lat, Lon):
        folium.Marker([lat, lon], color='red').add_to(marker_cluster)
    san_map.save('test.html')


def main():
    PlotLineOnMap()


if __name__ == '__main__':
    main()
### 如何使用Python Matplotlib或Seaborn绘制表示各省区连续无新增确诊病例天数的玫瑰图 为了实现这一目标,可以采用极坐标系下的条形图来模拟玫瑰图的效果。下面展示了一个具体的例子,该例子假设已经拥有一组代表不同省份及其对应连续无新增病例天数的数据。 #### 准备工作 首先安装必要的库: ```bash pip install matplotlib seaborn pandas ``` #### 导入所需模块并准备数据 ```python import numpy as np import matplotlib.pyplot as plt import seaborn as sns import pandas as pd # 假设这是来自实际统计数据的一部分样本 data = { 'province': ['Province A', 'Province B', 'Province C', 'Province D'], 'days_without_new_cases': [30, 45, 60, 90], } df = pd.DataFrame(data) # 将DataFrame中的列转换成适合绘图的形式 labels = df['province'] values = df['days_without_new_cases'] # 计算角度分布以便于在极坐标上显示 angles = np.linspace(0.0, 2 * np.pi, len(labels), endpoint=False).tolist() values += values[:1] # 关闭环路 angles += angles[:1] fig, ax = plt.subplots(figsize=(8, 8), subplot_kw=dict(polar=True)) ax.fill(angles, values, color='orange', alpha=0.75) plt.xticks(angles[:-1], labels) plt.yticks([30, 60, 90], ["30 days", "60 days", "90 days"]) plt.title('Days Without New Confirmed Cases by Province') plt.show() ``` 这段代码创建了一张基于给定数据集的简单玫瑰图,在这里`pandas`被用于处理输入数据;而`matplotlib`则负责完成最终图像的渲染[^1]。 对于更复杂的定制化需求,比如调整颜色方案、字体样式或者其他视觉效果,可以通过查阅官方文档获取更多帮助[^2]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值