• pyecharts画图总结


    pyecharts 画图归纳
    将本地文件导入到Pyecharts:

    test = open(filename, 'r')

    data = test.readlines()

    test.close()

    如果遇到无法导入包的情况:

    sudo pip install pyecharts == 0.1.9.4

    再不行:

    sudo apt - get install python3 - tk

    pip3 install pyecharts

    mysql文件导入Pycharm的代码

    import pymysql

    一页多图

    from pyecharts import Page

    导入柱状图Bar

    from pyecharts import Bar

    导入饼图Pie

    from pyecharts import Pie

    导入折线图Line

    from pyecharts import Line

    导入雷达图Radar

    from pyecharts import Radar

    导入散点图Scatter

    from pyecharts import Scatter

    导入词云图WordCloud

    from pyecharts import WordCloud

    将mysql的数据导入pycharm

    db = pymysql.connect("要连接的主机地址localhost", "用于登录的数据库用户root", "密码strongs", "要连接的数据库名")
    cursor = db.cursor()
    sql = "select * from 表名"
    try:
    cursor.execute(sql)
    data = cursor.fetchall()
    except:
    print("Error!")
    db.close()

    print(data)
    x = [x[0] for x in data]
    y = [x[1] for x in data]
    

    page = Page()

    柱状图-Bar

    设置行名

    columns = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]

    设置数据

    data1 = [2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3]
    data2 = [2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3]

    设置柱状图的主标题与副标题

    bar = Bar("柱状图", "一年的降水量与蒸发量", title_color='red', width=1000)

    添加柱状图的数据及配置项

    bar.add("图标", 列名, 列高(数据), mark_line=["average"], mark_point=["max", "min"])

    bar.add("降水量", columns, data1, mark_line=['max'], mark_point=["max", "min"], is_convert=False, area_color='yellow')
    bar.add("蒸发量", columns, data2, mark_line=["average"], mark_point=["max", "min"], is_convert=False)

    打印输出图表的所有配置项

    bar.show_config()

    生成本地文件(默认为.html文件)

    bar.render('./bar.html')

    page.add(bar)

    饼图-Pie

    设置主标题与副标题,标题设置居中,设置宽度为900

    pie = Pie("饼状图", "一年的降水量与蒸发量", title_pos='center', width=900)

    加入数据,设置坐标位置为【25,50】,上方的colums选项取消显示

    pie.add("降水量", columns, data1, center=[25, 50], is_legend_show=True)

    加入数据,设置坐标位置为【75,50】,上方的colums选项取消显示,显示label标签

    pie.add("蒸发量", columns, data2, center=[75, 50], is_legend_show=False, is_label_show=True)

    pie.show_config()

    保存图表

    pie.render('./pie.html')

    page.add(pie)

    折线图-Line

    line = Line("折线图", "一年的降水量与蒸发量")

    is_label_show是设置上方数据是否显示

    line.add("降水量", columns, data1, is_label_show=True)
    line.add("蒸发量", columns, data2, is_label_show=True)

    line.render('./line.html')

    page.add(line)

    雷达图-Radar

    radar = Radar("雷达图", "一年的降水量与蒸发量")

    由于雷达图传入的数据得为多维数据,所以这里需要做一下处理

    radar_data1 = [[2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3]]
    radar_data2 = [[2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3]]

    设置column的最大值,为了雷达图更为直观,这里的月份最大值设置有所不同

    schema = [
    ("Jan", 5), ("Feb", 10), ("Mar", 10),
    ("Apr", 50), ("May", 50), ("Jun", 200),
    ("Jul", 200), ("Aug", 200), ("Sep", 50),
    ("Oct", 50), ("Nov", 10), ("Dec", 5)
    ]

    传入坐标

    radar.config(schema)
    radar.add("降水量", radar_data1)

    一般默认为同一种颜色,这里为了便于区分,需要设置item的颜色

    radar.add("蒸发量", radar_data2, item_color="#1C86EE")

    radar.render('./radar.html')

    page.add(radar)

    散点图-scatter

    scatter = Scatter("散点图", "一年的降水量与蒸发量")

    xais_name是设置横坐标名称,这里由于显示问题,还需要将y轴名称与y轴的距离进行设置

    scatter.add("降水量与蒸发量的散点分布", data1, data2, xaxis_name="降水量", yaxis_name="蒸发量",
    yaxis_name_gap=40)

    scatter.render('./scatter.html')

    page.add(scatter)

    词云图-word_cloud

    word_cloud = WordCloud(width=1300, height=620)
    name = ['Sam S Club', 'Macys', 'Amy Schumer', 'Jurassic World', 'Charter Communications', 'Chick Fil A',
    'Planet Fitness', 'Pitch Perfect', 'Express', 'Home', 'Johnny Depp', 'Lena Dunham', 'Lewis Hamilton', 'KXAN',
    'Mary Ellen Mark', 'Farrah Abraham', 'Rita Ora', 'Serena Williams', 'NCAA baseball tournament', 'Point Break']
    value = [10000, 6181, 4386, 4055, 2467, 2244, 1898, 1484, 1112, 965, 847, 582, 555, 550, 462, 366, 360, 282, 273, 265]
    word_cloud.add("", name, value, word_size_range=[30, 100], shape='diamond')

    word_cloud.show_config()

    word_cloud.render()
    page.add(word_cloud)

    page.render('./all-plots.html')

    图表布局

    from pyecharts import Grid

    设置折线图标题位置

    line = Line("折线图", "一年的降水量与蒸发量", title_top="45%")
    line.add("降水量", columns, data1, is_label_show=True)
    line.add("蒸发量", columns, data2, is_label_show=True)
    grid = Grid()

    设置两个图表的相对位置

    grid.add(bar, grid_bottom="60%")
    grid.add(line, grid_top="60%")
    grid.render()

    结合不同类型图表叠加

    from pyecharts import Overlap
    overlap = Overlap()
    bar = Bar("柱状图-折线图合并", "一年的降水量与蒸发量")
    bar.add("降水量", columns, data1, mark_point=["max", "min"])
    bar.add("蒸发量", columns, data2, mark_point=["max", "min"])
    overlap.add(bar)
    overlap.add(line)
    overlap.render()

  • 相关阅读:
    泛型的内部原理:类型擦除以及类型擦除带来的问题
    内部类访问局部变量的时候,为什么变量必须加上final修饰
    Web 测试经验总结
    故障测试
    智能硬件产品的测试经验总结
    web端测试和移动端测试的区别小记
    MVC模式介绍
    重定向与转发
    MySQL权限管理分配
    pt-heartbeat工具监控MySQL复制延迟
  • 原文地址:https://www.cnblogs.com/hannahzhao/p/11961074.html
Copyright © 2020-2023  润新知