首页/文章/ 详情

撸两张图耍一下

3年前浏览1354

21世界学术界最缺的是什么?当然是图片,有了图片,就有了图片误用的本钱,发表CNS迎娶白富美走上人生巅峰指日可待。

图片怎么来?当然是撸出来的。

今天整理硬盘的时候,偶然发现了很久以前保存的一段数据可视化代码。心想不能浪费了,于是填充新的数据看看图形,毕竟数据画图是科研人的必备技能,图片误用也得有图片才能误用不是。

这段图形可视化代码利用的是pyecharts。

画图用的数据为公众号关注者的城市分布分布,这里以热力图形式进行显示。先上代码再放图。

from pyecharts import options as opts

from pyecharts.charts import Geo

from pyecharts.globals import ChartType

import pandas as pd


# 基础数据

txt = pd.read_csv('text.txt', header=None)

keys = txt.loc[:, 0].tolist()

values = txt.loc[:, 1].tolist()


c = (

    Geo()

        .add_schema(maptype="china")

        .add(

        "粉丝分布热力图",

        [list(z) for z in zip(keys, values)],

        type_=ChartType.SCATTER,

        # blur_size=20,

        # point_size=30,

        symbol_size=6,

        is_selected=True

    )

        .set_series_opts(label_opts=opts.LabelOpts(is_show=False))

        .set_global_opts(

        title_opts=opts.TitleOpts(title="分布图"),

        visualmap_opts=opts.VisualMapOpts(

            orient='horizontal',

            pos_left='center',

            is_piecewise=True,

            pieces=[

                {'min': 0, 'max': 500},

                {'min': 501, 'max': 2000},

                {'min': 2001, 'max': 5000},

                {'min': 5001}

            ]

        )


    )

        .render()

)


# 打开html

# os.system("render.html")

这图特别有意思,基本与咱们国家教育资源分布相等同,与地域经济发展程度貌似关联性也比较大。


image.png

再来张关注者来自的省份分布图。代码如下所示。

from pyecharts.charts import Map

from pyecharts import options as opts

import os

import pandas as pd


# 基础数据

txt = pd.read_csv('province.txt', header=None)

keys = txt.loc[:, 0].tolist()

values = txt.loc[:, 1].tolist()

print(keys)

print(values)


c = (

    Map()

        .add(

        "粉丝分布热力图",

        [list(z) for z in zip(keys, values)],

        maptype='china',

        is_map_symbol_show=False


    )

        .set_series_opts(label_opts=opts.LabelOpts(is_show=False))

        .set_global_opts(

        title_opts=opts.TitleOpts(title="分布图"),

        visualmap_opts=opts.VisualMapOpts(

            orient='horizontal', pos_left='center', is_piecewise=True,

            pieces=[

                {'min': 0, 'max': 500},

                {'min': 501, 'max': 2000},

                {'min': 2001, 'max': 4000},

                {'min': 4001, 'max': 6000},

                {'min': 6001}

            ]

        )

    )


        .render()

)


# 打开html

os.system("render.html")

图形如下所示。


image.png

声明:原创文章,欢迎留言与我讨论,如需转载留言

理论科普代码&命令其他软件
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2021-02-15
最近编辑:3年前
CFD之道
博士 | 教师 探讨CFD职场生活,闲谈CFD里外
获赞 2578粉丝 11421文章 745课程 27
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈