数据分析之数据可视化_CodingPark编程公园

可视化效果对比

在这里插入图片描述

柱状图

可视化展示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

代码展示

在这里插入图片描述

option = {
    xAxis: {
        type: 'category',
        data: ['北京', '上海', '广东', '青海', '云南', '辽宁', '内蒙古']
    },
    yAxis: {
        type: 'value'
    },
    series: [{
        data: [929, 732, 1650, 18, 188, 164, 249],
        type: 'bar',
        showBackground: true,
        backgroundStyle: {
            color: 'rgba(220, 220, 220, 0.8)'
        }
    }]
};

在这里插入图片描述

# 柱状图

from pyecharts.charts import Bar

bar = Bar()
bar.add_xaxis(['北京', '上海', '广东', '青海', '云南', '辽宁', '内蒙古'])
bar.add_yaxis("疫情数据可视化", [929, 732, 1650, 18, 188, 164, 249])
# render会生成本地html文件,默认会在当前目录生成 render.html 文件
# 也可以传入路径参数 Exam : bar.render(mycharts.html")

bar.render('YiQingPyecharts.html')    # 生成本地 HTML 文件


在这里插入图片描述

# 柱状图
import pandas as pd
import matplotlib.pyplot as plt

# 读取数据
news = pd.read_csv("ripe_chinese_news.csv")


# 类别数量分布
c = news["tag"].value_counts()
print(c)
c.plot(kind='bar')
plt.title("新闻联播内容分布")
plt.show()


在这里插入图片描述

import plotly.graph_objects as go
fig = go.Figure(
    data=[go.Bar(x=['详细全文', '国内', '国外'], y=[11529, 6186, 3018])],
    layout=go.Layout(
        title=go.layout.Title(text="新闻联播内容分布")
    )
)
fig.show()



饼状图

可视化展示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

代码展示

在这里插入图片描述

option = {
    title: {
        text: '网站点用户访问来源',
        left: 'center'
    },
    tooltip: {
        trigger: 'item',
        formatter: '{a} <br/>{b} : {c} ({d}%)'
    },
    legend: {
        orient: 'vertical',
        left: 'left',
        data: ['直接访问', '邮件营销', '联盟广告', '视频广告', '搜索引擎']
    },
    series: [
        {
            name: '访问来源',
            type: 'pie',
            radius: '55%',
            center: ['50%', '60%'],
            data: [
                {value: 335, name: '直接访问'},
                {value: 310, name: '邮件营销'},
                {value: 234, name: '联盟广告'},
                {value: 135, name: '视频广告'},
                {value: 1548, name: '搜索引擎'}
            ],
            emphasis: {
                itemStyle: {
                    shadowBlur: 10,
                    shadowOffsetX: 0,
                    shadowColor: 'rgba(0, 0, 0, 0.5)'
                }
            }
        }
    ]
};

在这里插入图片描述

# 饼状图

from pyecharts import options as opts
from pyecharts.charts import Pie
from pyecharts.faker import Faker

x_data = ["直接访问", "邮件营销", "联盟广告", "视频广告", "搜索引擎"]
y_data = [335, 310, 274, 235, 400]
data_pair = [list(z) for z in zip(x_data, y_data)]
data_pair.sort(key=lambda x: x[1])

c = (
    Pie()
    .add(
        series_name="访问来源",
        data_pair=data_pair,
    )
    .set_global_opts(title_opts=opts.TitleOpts(title="网站用户访问来源"))
    .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
    .render("pie_base.html")
)



折线图

可视化展示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

代码展示

在这里插入图片描述

option = {
    xAxis: {
        type: 'category',
        data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
    },
    yAxis: {
        type: 'value'
    }, title: {
            text: '微信运动',
            left: 'center'
        },
    series: [{
        data: [820, 932, 901, 934, 1290, 1330, 1320],
        type: 'line'
    }]
};


在这里插入图片描述


# 折线图

import pyecharts.options as opts
from pyecharts.charts import Line

"""
Gallery 使用 pyecharts 1.1.0
参考地址: https://echarts.baidu.com/examples/editor.html?c=line-simple

目前无法实现的功能:

暂无
"""


x_data = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]
y_data = [820, 932, 901, 934, 1290, 1330, 1320]


(
    Line()
    .set_global_opts(
        title_opts=opts.TitleOpts(title="微信运动"),
        tooltip_opts=opts.TooltipOpts(is_show=False),
        xaxis_opts=opts.AxisOpts(type_="category"),
        yaxis_opts=opts.AxisOpts(
            type_="value",
            axistick_opts=opts.AxisTickOpts(is_show=True),
            splitline_opts=opts.SplitLineOpts(is_show=True),
        ),
    )
    .add_xaxis(xaxis_data=x_data)
    .add_yaxis(
        series_name="",
        y_axis=y_data,
        symbol="emptyCircle",
        is_symbol_show=True,
        label_opts=opts.LabelOpts(is_show=False),
    )
    .render("basic_line_chart.html")
)



地图可视化

可视化展示

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

代码展示

在这里插入图片描述

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>QQ音乐播放量地图可视化</title>
	
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="this is my page">
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    
    <!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
  
  <script src="js/esl.js" type="text/javascript"></script>
  </head>
  
  
<body>

<div id="main" style="width:1000px;height:800px;margin:0 auto;">  </div>
 <script type="text/javascript">

 var fileLocation ='js/echarts-map';
	require.config({
	   
		paths:{ 
			 
		 'echarts': fileLocation
			
		}
	});

// 作为入口
require(
    [
        'echarts',
		 'echarts/chart/map'
    ], 
    function (ec) {
        var myChart = ec.init(document.getElementById('main'));
        var option = {
    title : {
        text: 'QQ音乐播放量',
        subtext: '中国',
        x:'center'
    },
    tooltip : {
        trigger: 'item'
    },
    legend: {
        orient: 'vertical',
        x:'left',
        data:['抒情类','动感类','古典类']
    },
    dataRange: {
        min: 0,
        max: 2500,
        x: 'left',
        y: 'bottom',
        text:['高','低'],           // 文本,默认为数值文本
        calculable : true
    },
    toolbox: {
        show : true,
        orient : 'vertical',
        x: 'right',
        y: 'center',
        feature : {
            mark : {show: true},
            dataView : {show: true, readOnly: false},
            restore : {show: true},
            saveAsImage : {show: true}
        }
    },
    series : [
        {
            name: '抒情类',
            type: 'map',
            mapType: 'china',
            roam: true,
            itemStyle:{
                normal:{label:{show:true}},
                emphasis:{label:{show:true}}
            },
            data:[
                {name: '北京',value: Math.round(Math.random()*1000)},
                {name: '天津',value: Math.round(Math.random()*1000)},
                {name: '上海',value: Math.round(Math.random()*1000)},
                {name: '重庆',value: Math.round(Math.random()*1000)},
                {name: '河北',value: Math.round(Math.random()*1000)},
                {name: '河南',value: Math.round(Math.random()*1000)},
                {name: '云南',value: Math.round(Math.random()*1000)},
                {name: '辽宁',value: Math.round(Math.random()*1000)},
                {name: '黑龙江',value: Math.round(Math.random()*1000)},
                {name: '湖南',value: Math.round(Math.random()*1000)},
                {name: '安徽',value: Math.round(Math.random()*1000)},
                {name: '山东',value: Math.round(Math.random()*1000)},
                {name: '新疆',value: Math.round(Math.random()*1000)},
                {name: '江苏',value: Math.round(Math.random()*1000)},
                {name: '浙江',value: Math.round(Math.random()*1000)},
                {name: '江西',value: Math.round(Math.random()*1000)},
                {name: '湖北',value: Math.round(Math.random()*1000)},
                {name: '广西',value: Math.round(Math.random()*1000)},
                {name: '甘肃',value: Math.round(Math.random()*1000)},
                {name: '山西',value: Math.round(Math.random()*1000)},
                {name: '内蒙古',value: Math.round(Math.random()*1000)},
                {name: '陕西',value: Math.round(Math.random()*1000)},
                {name: '吉林',value: Math.round(Math.random()*1000)},
                {name: '福建',value: Math.round(Math.random()*1000)},
                {name: '贵州',value: Math.round(Math.random()*1000)},
                {name: '广东',value: Math.round(Math.random()*1000)},
                {name: '青海',value: Math.round(Math.random()*1000)},
                {name: '西藏',value: Math.round(Math.random()*1000)},
                {name: '四川',value: Math.round(Math.random()*1000)},
                {name: '宁夏',value: Math.round(Math.random()*1000)},
                {name: '海南',value: Math.round(Math.random()*1000)},
                {name: '台湾',value: Math.round(Math.random()*1000)},
                {name: '香港',value: Math.round(Math.random()*1000)},
                {name: '澳门',value: Math.round(Math.random()*1000)}
            ]
        },
        {
            name: '动感类',
            type: 'map',
            mapType: 'china',
            itemStyle:{
                normal:{label:{show:true}},
                emphasis:{label:{show:true}}
            },
            data:[
                {name: '北京',value: Math.round(Math.random()*1000)},
                {name: '天津',value: Math.round(Math.random()*1000)},
                {name: '上海',value: Math.round(Math.random()*1000)},
                {name: '重庆',value: Math.round(Math.random()*1000)},
                {name: '河北',value: Math.round(Math.random()*1000)},
                {name: '安徽',value: Math.round(Math.random()*1000)},
                {name: '新疆',value: Math.round(Math.random()*1000)},
                {name: '浙江',value: Math.round(Math.random()*1000)},
                {name: '江西',value: Math.round(Math.random()*1000)},
                {name: '山西',value: Math.round(Math.random()*1000)},
                {name: '内蒙古',value: Math.round(Math.random()*1000)},
                {name: '吉林',value: Math.round(Math.random()*1000)},
                {name: '福建',value: Math.round(Math.random()*1000)},
                {name: '广东',value: Math.round(Math.random()*1000)},
                {name: '西藏',value: Math.round(Math.random()*1000)},
                {name: '四川',value: Math.round(Math.random()*1000)},
                {name: '宁夏',value: Math.round(Math.random()*1000)},
                {name: '香港',value: Math.round(Math.random()*1000)},
                {name: '澳门',value: Math.round(Math.random()*1000)}
            ]
        },
        {
            name: '古典类',
            type: 'map',
            mapType: 'china',
            itemStyle:{
                normal:{label:{show:true}},
                emphasis:{label:{show:true}}
            },
            data:[
                {name: '北京',value: Math.round(Math.random()*1000)},
                {name: '天津',value: Math.round(Math.random()*1000)},
                {name: '上海',value: Math.round(Math.random()*1000)},
                {name: '广东',value: Math.round(Math.random()*1000)},
                {name: '台湾',value: Math.round(Math.random()*1000)},
                {name: '香港',value: Math.round(Math.random()*1000)},
                {name: '澳门',value: Math.round(Math.random()*1000)}
            ]
        }
    ]
};
                    
        var ecConfig= require('echarts/config');  
        myChart.on(ecConfig.EVENT.MAP_SELECTED,function (param) {  
            varselected=param.selected;  
           varmapSeries=option.series[0];  
            vardata= [];  
            varlegendData= [];  
            varname;  
            for (varp=0,len=mapSeries.data.length; p<len; p++) {  
                name=mapSeries.data[p].name;  
                mapSeries.data[p].selected=selected[name];  
                if (selected[name]) {  
                    alert(name); //这里只是简单的做一个事例说明,弹出用户所选的省,如需做其他的扩展,可以在这里边添加相应的操作   

                }  
            }  
        });                  
        myChart.setOption(option);  
    }  
);  
</script>
</body>
</html>




在这里插入图片描述

# -*- encoding: utf-8 -*-
"""
@File    :   COVID19.py    
@Contact :   ag@team-ag.club
@License :   (C)Copyright 2019-2020, CodingPark

@Modify Time      @Author    @Version    @Desciption
------------      -------    --------    -----------
2020-07-17 15:22   AG         1.0         None
"""

import pandas as pd
from pyecharts import options as opts
from pyecharts.charts import Map

df = pd.read_excel('Covid_China.xls')
# 1 根据Excel绘制国内总疫情图(确诊)
data = df.groupby(by='province', as_index=False).sum()
data_list = list(zip(data['province'].values.tolist(), data['total_confirm'].values.tolist()))


def map_china():
    c = (
        Map()
            .add(series_name='确诊病例', data_pair=data_list, maptype="china")
            .set_global_opts(
            title_opts=opts.TitleOpts(title='疫情地图'),
            visualmap_opts=opts.VisualMapOpts(is_piecewise=True,
                                             pieces=[{"max": 9, "min": 0, "lavel": "0-9", "color": "#FFE4E1"},
                                                     {"max": 99, "min": 10, "lavel": "10-99", "color": "#FF7F50"},
                                                     {"max": 499, "min": 100, "lavel": "100-499", "color": "#F08080"},
                                                     {"max": 999, "min": 500, "lavel": "500-999", "color": "#CD5C5C"},
                                                     {"max": 9999, "min": 1000, "lavel": "1000-9999",
                                                      "color": "#990000"},
                                                     {"max": 99999, "min": 10000, "lavel": ">10000",
                                                      "color": "#660000"}]
                                             )

        )

    )
    return c

d_map = map_china()
d_map.render('COVID-19.html')


print('\n=== 成功 ===')






更多可视化样例

在这里插入图片描述

折线图
在这里插入图片描述

柱状图

在这里插入图片描述

饼状图
在这里插入图片描述

散点图
在这里插入图片描述

关系图

在这里插入图片描述

平行坐标系
在这里插入图片描述

更多参考

📍echarts参考
https://echarts.apache.org/zh/index.html
📍Pyecharts参考
https://pyecharts.org/#/zh-cn/

在这里插入图片描述

©️2020 CSDN 皮肤主题: 鲸 设计师: meimeiellie 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值