Bilingual support, with full system support for Chinese and English switching.
This commit is contained in:
@@ -1,345 +1,345 @@
|
||||
{% extends 'base_page.html' %}
|
||||
{% block title %}
|
||||
文章分析
|
||||
{% endblock %}
|
||||
|
||||
{% block nav %}
|
||||
<nav class="iq-sidebar-menu">
|
||||
<ul id="iq-sidebar-toggle" class="side-menu">
|
||||
<li class="px-3 pt-3 pb-2 ">
|
||||
<span class="text-uppercase small font-weight-bold">首页</span>
|
||||
</li>
|
||||
<li class=" sidebar-layout">
|
||||
<a href="/page/home" class="svg-icon">
|
||||
<i class="">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="18" fill="none" viewbox="0 0 24 24" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6"></path>
|
||||
</svg>
|
||||
</i>
|
||||
<span class="ml-2">首页</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class=" sidebar-layout">
|
||||
<a href="/page/hotWord" class="svg-icon ">
|
||||
<i class="">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="18" fill="none" viewbox="0 0 24 24" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z"></path>
|
||||
</svg>
|
||||
</i>
|
||||
<span class="ml-2">热词统计</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class=" sidebar-layout">
|
||||
<a href="/page/tableData" class="svg-icon">
|
||||
<i class="">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="18" fill="none" viewbox="0 0 24 24" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M7 7h.01M7 3h5c.512 0 1.024.195 1.414.586l7 7a2 2 0 010 2.828l-7 7a2 2 0 01-2.828 0l-7-7A1.994 1.994 0 013 12V7a4 4 0 014-4z"></path>
|
||||
</svg>
|
||||
</i>
|
||||
<span class="ml-2">微博舆情统计</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="px-3 pt-3 pb-2 ">
|
||||
<span class="text-uppercase small font-weight-bold">数据可视化</span>
|
||||
</li>
|
||||
<li class=" sidebar-layout">
|
||||
<a href="/page/articleChar" class="svg-icon">
|
||||
<i class="">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="18" fill="none" viewbox="0 0 24 24" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 3h2l.4 2M7 13h10l4-8H5.4M7 13L5.4 5M7 13l-2.293 2.293c-.63.63-.184 1.707.707 1.707H17m0 0a2 2 0 100 4 2 2 0 000-4zm-8 2a2 2 0 11-4 0 2 2 0 014 0z"></path>
|
||||
</svg>
|
||||
</i>
|
||||
<span class="ml-2">文章分析</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class=" sidebar-layout">
|
||||
<a href="/page/ipChar" class="svg-icon">
|
||||
<i class="">
|
||||
<svg class="icon line" width="18" id="receipt" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" stroke="currentColor">
|
||||
<path d="M17,16V3L13,5,10,3,7,5,3,3V17.83A3.13,3.13,0,0,0,5.84,21,3,3,0,0,0,9,18V17a1,1,0,0,1,1-1H20a1,1,0,0,1,1,1v1a3,3,0,0,1-3,3H6" style="fill: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2;"></path>
|
||||
<line x1="8" y1="10" x2="12" y2="10" style="fill: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2;"></line>
|
||||
</svg>
|
||||
</i>
|
||||
<span class="ml-2">IP分析</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class=" sidebar-layout">
|
||||
<a href="/page/commentChar" class="svg-icon">
|
||||
<i class="">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="18" fill="none" viewbox="0 0 24 24" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path>
|
||||
</svg>
|
||||
</i><span class="ml-2">评论分析</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="active sidebar-layout">
|
||||
<a href="/page/yuqingChar" class="svg-icon">
|
||||
<i class="">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="18" fill="none" viewbox="0 0 24 24" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"></path>
|
||||
</svg>
|
||||
</i>
|
||||
<span class="ml-2">舆情分析</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="active sidebar-layout">
|
||||
<a href="/page/yuqingpredict" class="svg-icon">
|
||||
<i class="">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="18" fill="none" viewbox="0 0 24 24" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"></path>
|
||||
</svg>
|
||||
</i>
|
||||
<span class="ml-2">舆情预测</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="px-3 pt-3 pb-2">
|
||||
<span class="text-uppercase small font-weight-bold">词云图</span>
|
||||
</li>
|
||||
<li class=" sidebar-layout">
|
||||
<a href="/page/articleCloud" class="svg-icon">
|
||||
<i class="">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="18" fill="none" viewbox="0 0 24 24" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"></path>
|
||||
</svg>
|
||||
</i><span class="ml-2">文章内容词云图</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-md-12 mb-4 mt-1">
|
||||
<div class="d-flex flex-wrap justify-content-between align-items-center">
|
||||
<h4 class="font-weight-bold">文章分析页</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<div class="card card-block card-stretch card-height">
|
||||
<div class="card-body">
|
||||
<div class="form-group">
|
||||
<label>类型选择</label>
|
||||
<select onchange="typeChange(event)" class="form-control mb-3">
|
||||
{% for i in typeList %}
|
||||
{% if defaultType == i %}
|
||||
<option selected value="{{ i }}">{{ i }}</option>
|
||||
{% else %}
|
||||
<option value="{{ i }}">{{ i }}</option>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</select>
|
||||
<script>
|
||||
function typeChange(e){
|
||||
window.location.href = 'http://127.0.0.1:5000/page/articleChar?type=' + e.target.value
|
||||
}
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-lg-6">
|
||||
<div class="card card-block">
|
||||
<div class="card-header d-flex justify-content-between pb-0">
|
||||
<div class="header-title">
|
||||
<h4 class="card-title mb-0">文章点赞量分析 👍</h4>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div id="main" style="width: 100%;height: 450px"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-6">
|
||||
<div class="card card-block">
|
||||
<div class="card-header d-flex justify-content-between pb-0">
|
||||
<div class="header-title">
|
||||
<h4 class="card-title mb-0">文章评论量分析 🔥</h4>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div id="mainTwo" style="width: 100%;height: 450px"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-12">
|
||||
<div class="card card-block">
|
||||
<div class="card-header d-flex justify-content-between pb-0">
|
||||
<div class="header-title">
|
||||
<h4 class="card-title mb-0">文章转发量分析 🥇</h4>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div id="mainThree" style="width: 100%;height: 450px"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block echarts %}
|
||||
<script>
|
||||
var chartDom = document.getElementById('main');
|
||||
var myChart = echarts.init(chartDom);
|
||||
var option;
|
||||
var colors = ['#66cc99','#ffcc66','#ff6666','#6699cc']
|
||||
option = {
|
||||
title: {
|
||||
text: '点赞区间统计'
|
||||
},
|
||||
tooltip: {
|
||||
trigger: 'axis'
|
||||
},
|
||||
legend: {
|
||||
data: ['区间个数']
|
||||
},
|
||||
toolbox: {
|
||||
show: true,
|
||||
feature: {
|
||||
dataView: { show: true, readOnly: false },
|
||||
magicType: { show: true, type: ['line', 'bar'] },
|
||||
restore: { show: true },
|
||||
saveAsImage: { show: true }
|
||||
}
|
||||
},
|
||||
calculable: true,
|
||||
xAxis: [
|
||||
{
|
||||
type: 'category',
|
||||
// prettier-ignore
|
||||
data:{{ xData |tojson }}
|
||||
}
|
||||
],
|
||||
yAxis: [
|
||||
{
|
||||
type: 'value'
|
||||
}
|
||||
],
|
||||
series: [
|
||||
{
|
||||
name: '区间个数',
|
||||
type: 'bar',
|
||||
data: {{ yData }},
|
||||
itemStyle:{
|
||||
color:function(params){
|
||||
return colors[params.dataIndex % colors.length];
|
||||
}
|
||||
},
|
||||
markPoint: {
|
||||
data: [
|
||||
{ type: 'max', name: 'Max' },
|
||||
{ type: 'min', name: 'Min' }
|
||||
]
|
||||
},
|
||||
markLine: {
|
||||
data: [{ type: 'average', name: 'Avg' }]
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
option && myChart.setOption(option);
|
||||
</script>
|
||||
<script>
|
||||
var chartDom = document.getElementById('mainTwo');
|
||||
var myChart = echarts.init(chartDom);
|
||||
var option;
|
||||
|
||||
option = {
|
||||
toolbox: {
|
||||
show: true,
|
||||
feature: {
|
||||
dataView: { show: true, readOnly: false },
|
||||
magicType: { show: true, type: ['line', 'bar'] },
|
||||
restore: { show: true },
|
||||
saveAsImage: { show: true }
|
||||
}
|
||||
},
|
||||
title: {
|
||||
text: '文章评论区间统计'
|
||||
},
|
||||
tooltip: {
|
||||
trigger: 'axis'
|
||||
},
|
||||
legend: {
|
||||
|
||||
},
|
||||
xAxis: {
|
||||
type: 'category',
|
||||
data: {{ x1Data | tojson }}
|
||||
},
|
||||
yAxis: {
|
||||
type: 'value'
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name:"区间个数",
|
||||
data: {{ y1Data }},
|
||||
type: 'line',
|
||||
symbol: 'triangle',
|
||||
symbolSize: 20,
|
||||
lineStyle: {
|
||||
color: '#5470C6',
|
||||
width: 4,
|
||||
type: 'dashed'
|
||||
},
|
||||
itemStyle: {
|
||||
borderWidth: 3,
|
||||
borderColor: '#EE6666',
|
||||
color: 'yellow'
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
option && myChart.setOption(option);
|
||||
|
||||
</script>
|
||||
<script>
|
||||
var chartDom = document.getElementById('mainThree');
|
||||
var myChart = echarts.init(chartDom);
|
||||
var option;
|
||||
|
||||
option = {
|
||||
title: {
|
||||
text: '转发量分析区间图'
|
||||
},
|
||||
tooltip: {
|
||||
trigger: 'axis',
|
||||
axisPointer: {
|
||||
type: 'shadow'
|
||||
}
|
||||
},
|
||||
legend: {},
|
||||
grid: {
|
||||
left: '3%',
|
||||
right: '4%',
|
||||
bottom: '3%',
|
||||
containLabel: true
|
||||
},
|
||||
xAxis: {
|
||||
type: 'value',
|
||||
boundaryGap: [0, 0.01]
|
||||
},
|
||||
yAxis: {
|
||||
type: 'category',
|
||||
data: {{ x2Data | tojson }}
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: '区间个数',
|
||||
type: 'bar',
|
||||
data: {{ y2Data }}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
option && myChart.setOption(option);
|
||||
|
||||
</script>
|
||||
{% extends 'base_page.html' %}
|
||||
{% block title %}
|
||||
<span data-i18n="articleChar">文章分析</span>
|
||||
{% endblock %}
|
||||
|
||||
{% block nav %}
|
||||
<nav class="iq-sidebar-menu">
|
||||
<ul id="iq-sidebar-toggle" class="side-menu">
|
||||
<li class="px-3 pt-3 pb-2 ">
|
||||
<span class="text-uppercase small font-weight-bold" data-i18n="home">首页</span>
|
||||
</li>
|
||||
<li class=" sidebar-layout">
|
||||
<a href="/page/home" class="svg-icon">
|
||||
<i class="">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="18" fill="none" viewbox="0 0 24 24" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6"></path>
|
||||
</svg>
|
||||
</i>
|
||||
<span class="ml-2" data-i18n="home">首页</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class=" sidebar-layout">
|
||||
<a href="/page/hotWord" class="svg-icon ">
|
||||
<i class="">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="18" fill="none" viewbox="0 0 24 24" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z"></path>
|
||||
</svg>
|
||||
</i>
|
||||
<span class="ml-2">热词统计</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class=" sidebar-layout">
|
||||
<a href="/page/tableData" class="svg-icon">
|
||||
<i class="">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="18" fill="none" viewbox="0 0 24 24" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M7 7h.01M7 3h5c.512 0 1.024.195 1.414.586l7 7a2 2 0 010 2.828l-7 7a2 2 0 01-2.828 0l-7-7A1.994 1.994 0 013 12V7a4 4 0 014-4z"></path>
|
||||
</svg>
|
||||
</i>
|
||||
<span class="ml-2">微博舆情统计</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="px-3 pt-3 pb-2 ">
|
||||
<span class="text-uppercase small font-weight-bold">数据可视化</span>
|
||||
</li>
|
||||
<li class=" sidebar-layout">
|
||||
<a href="/page/articleChar" class="svg-icon">
|
||||
<i class="">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="18" fill="none" viewbox="0 0 24 24" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 3h2l.4 2M7 13h10l4-8H5.4M7 13L5.4 5M7 13l-2.293 2.293c-.63.63-.184 1.707.707 1.707H17m0 0a2 2 0 100 4 2 2 0 000-4zm-8 2a2 2 0 11-4 0 2 2 0 014 0z"></path>
|
||||
</svg>
|
||||
</i>
|
||||
<span class="ml-2">文章分析</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class=" sidebar-layout">
|
||||
<a href="/page/ipChar" class="svg-icon">
|
||||
<i class="">
|
||||
<svg class="icon line" width="18" id="receipt" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" stroke="currentColor">
|
||||
<path d="M17,16V3L13,5,10,3,7,5,3,3V17.83A3.13,3.13,0,0,0,5.84,21,3,3,0,0,0,9,18V17a1,1,0,0,1,1-1H20a1,1,0,0,1,1,1v1a3,3,0,0,1-3,3H6" style="fill: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2;"></path>
|
||||
<line x1="8" y1="10" x2="12" y2="10" style="fill: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2;"></line>
|
||||
</svg>
|
||||
</i>
|
||||
<span class="ml-2">IP分析</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class=" sidebar-layout">
|
||||
<a href="/page/commentChar" class="svg-icon">
|
||||
<i class="">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="18" fill="none" viewbox="0 0 24 24" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path>
|
||||
</svg>
|
||||
</i><span class="ml-2">评论分析</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="active sidebar-layout">
|
||||
<a href="/page/yuqingChar" class="svg-icon">
|
||||
<i class="">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="18" fill="none" viewbox="0 0 24 24" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"></path>
|
||||
</svg>
|
||||
</i>
|
||||
<span class="ml-2">舆情分析</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="active sidebar-layout">
|
||||
<a href="/page/yuqingpredict" class="svg-icon">
|
||||
<i class="">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="18" fill="none" viewbox="0 0 24 24" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"></path>
|
||||
</svg>
|
||||
</i>
|
||||
<span class="ml-2">舆情预测</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="px-3 pt-3 pb-2">
|
||||
<span class="text-uppercase small font-weight-bold">词云图</span>
|
||||
</li>
|
||||
<li class=" sidebar-layout">
|
||||
<a href="/page/articleCloud" class="svg-icon">
|
||||
<i class="">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="18" fill="none" viewbox="0 0 24 24" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"></path>
|
||||
</svg>
|
||||
</i><span class="ml-2" data-i18n="articleCloud">文章内容词云图</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-md-12 mb-4 mt-1">
|
||||
<div class="d-flex flex-wrap justify-content-between align-items-center">
|
||||
<h4 class="font-weight-bold" data-i18n="articleCharPage">文章分析页</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<div class="card card-block card-stretch card-height">
|
||||
<div class="card-body">
|
||||
<div class="form-group">
|
||||
<label data-i18n="typeSelection">类型选择</label>
|
||||
<select onchange="typeChange(event)" class="form-control mb-3">
|
||||
{% for i in typeList %}
|
||||
{% if defaultType == i %}
|
||||
<option selected value="{{ i }}">{{ i }}</option>
|
||||
{% else %}
|
||||
<option value="{{ i }}">{{ i }}</option>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</select>
|
||||
<script>
|
||||
function typeChange(e){
|
||||
window.location.href = 'http://127.0.0.1:5000/page/articleChar?type=' + e.target.value
|
||||
}
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-lg-6">
|
||||
<div class="card card-block">
|
||||
<div class="card-header d-flex justify-content-between pb-0">
|
||||
<div class="header-title">
|
||||
<h4 class="card-title mb-0" data-i18n="articleLikeAnalysis">文章点赞量分析 👍</h4>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div id="main" style="width: 100%;height: 450px"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-6">
|
||||
<div class="card card-block">
|
||||
<div class="card-header d-flex justify-content-between pb-0">
|
||||
<div class="header-title">
|
||||
<h4 class="card-title mb-0" data-i18n="articleCommentAnalysis">文章评论量分析 🔥</h4>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div id="mainTwo" style="width: 100%;height: 450px"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-12">
|
||||
<div class="card card-block">
|
||||
<div class="card-header d-flex justify-content-between pb-0">
|
||||
<div class="header-title">
|
||||
<h4 class="card-title mb-0" data-i18n="articleForwardAnalysis">文章转发量分析 🥇</h4>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div id="mainThree" style="width: 100%;height: 450px"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block echarts %}
|
||||
<script>
|
||||
var chartDom = document.getElementById('main');
|
||||
var myChart = echarts.init(chartDom);
|
||||
var option;
|
||||
var colors = ['#66cc99','#ffcc66','#ff6666','#6699cc']
|
||||
option = {
|
||||
title: {
|
||||
text: t('likeRangeStatistics')
|
||||
},
|
||||
tooltip: {
|
||||
trigger: 'axis'
|
||||
},
|
||||
legend: {
|
||||
data: [t('rangeCount')]
|
||||
},
|
||||
toolbox: {
|
||||
show: true,
|
||||
feature: {
|
||||
dataView: { show: true, readOnly: false },
|
||||
magicType: { show: true, type: ['line', 'bar'] },
|
||||
restore: { show: true },
|
||||
saveAsImage: { show: true }
|
||||
}
|
||||
},
|
||||
calculable: true,
|
||||
xAxis: [
|
||||
{
|
||||
type: 'category',
|
||||
// prettier-ignore
|
||||
data:{{ xData |tojson }}
|
||||
}
|
||||
],
|
||||
yAxis: [
|
||||
{
|
||||
type: 'value'
|
||||
}
|
||||
],
|
||||
series: [
|
||||
{
|
||||
name: '区间个数',
|
||||
type: 'bar',
|
||||
data: {{ yData }},
|
||||
itemStyle:{
|
||||
color:function(params){
|
||||
return colors[params.dataIndex % colors.length];
|
||||
}
|
||||
},
|
||||
markPoint: {
|
||||
data: [
|
||||
{ type: 'max', name: 'Max' },
|
||||
{ type: 'min', name: 'Min' }
|
||||
]
|
||||
},
|
||||
markLine: {
|
||||
data: [{ type: 'average', name: 'Avg' }]
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
option && myChart.setOption(option);
|
||||
</script>
|
||||
<script>
|
||||
var chartDom = document.getElementById('mainTwo');
|
||||
var myChart = echarts.init(chartDom);
|
||||
var option;
|
||||
|
||||
option = {
|
||||
toolbox: {
|
||||
show: true,
|
||||
feature: {
|
||||
dataView: { show: true, readOnly: false },
|
||||
magicType: { show: true, type: ['line', 'bar'] },
|
||||
restore: { show: true },
|
||||
saveAsImage: { show: true }
|
||||
}
|
||||
},
|
||||
title: {
|
||||
text: '文章评论区间统计'
|
||||
},
|
||||
tooltip: {
|
||||
trigger: 'axis'
|
||||
},
|
||||
legend: {
|
||||
|
||||
},
|
||||
xAxis: {
|
||||
type: 'category',
|
||||
data: {{ x1Data | tojson }}
|
||||
},
|
||||
yAxis: {
|
||||
type: 'value'
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name:"区间个数",
|
||||
data: {{ y1Data }},
|
||||
type: 'line',
|
||||
symbol: 'triangle',
|
||||
symbolSize: 20,
|
||||
lineStyle: {
|
||||
color: '#5470C6',
|
||||
width: 4,
|
||||
type: 'dashed'
|
||||
},
|
||||
itemStyle: {
|
||||
borderWidth: 3,
|
||||
borderColor: '#EE6666',
|
||||
color: 'yellow'
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
option && myChart.setOption(option);
|
||||
|
||||
</script>
|
||||
<script>
|
||||
var chartDom = document.getElementById('mainThree');
|
||||
var myChart = echarts.init(chartDom);
|
||||
var option;
|
||||
|
||||
option = {
|
||||
title: {
|
||||
text: '转发量分析区间图'
|
||||
},
|
||||
tooltip: {
|
||||
trigger: 'axis',
|
||||
axisPointer: {
|
||||
type: 'shadow'
|
||||
}
|
||||
},
|
||||
legend: {},
|
||||
grid: {
|
||||
left: '3%',
|
||||
right: '4%',
|
||||
bottom: '3%',
|
||||
containLabel: true
|
||||
},
|
||||
xAxis: {
|
||||
type: 'value',
|
||||
boundaryGap: [0, 0.01]
|
||||
},
|
||||
yAxis: {
|
||||
type: 'category',
|
||||
data: {{ x2Data | tojson }}
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: '区间个数',
|
||||
type: 'bar',
|
||||
data: {{ y2Data }}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
option && myChart.setOption(option);
|
||||
|
||||
</script>
|
||||
{% endblock %}
|
||||
Reference in New Issue
Block a user