分析建模,日常问题整理(十九)
2018.12.03~2018.12.09
- 待解决:爬取内容写入html后,读取时不显示中文
加了fout.write("<meta charset=\"utf-8\">")
也没有用。
- xgboost原理
分类树:
xgboost公示推导
待解决:对损失项二阶展开,t时刻,t-1次估计的y值是已知的,为什么还可以求导。
参考陈天奇ppt
- html注释标签
< ! -- 注释标签 -- >
- html注释标签
- django结合echarts
1)直接在官网下载对应图标的html文件放在template中,打开对应的网址就可以看到效果。
2)其次,下载通用echarts.js,放在static的js文件中。在模板文件中写script代码。
<script src="/static/js/echarts.js" type="text/javascript"></script>
为引用外部文件。type=''text/javascript"是写javascript文件的规定写法,无需深究。
<!DOCTYPE html>
<!--本代码主要实现echart模板的展示-->
<html lang="en">
<head>
<meta charset="UTF-8">
<title>test</title>
</head>
<script src="/static/js/jquery-3.3.1.min.js"></script>
<script src="/static/js/echarts.js"></script>
<!--加载echarts通用模板-->
<body>
<h1 style="background-color: antiquewhite;color: black">hello world,我的第一个django实验</h1>
<h1 style="...">请输入</h1>
<form action="/index/" method="post">
{% csrf_token %}
<input type="text" name="username"/>
<input type="password" name="password"/>
<input type="submit" value="提交"/>
</form>
<h1 style="...">用户展示</h1>
<table border="1">
<thead>
<th>用户名</th>
<th>密码</th>
</thead>
<tbody>
{% for line in data %}
<tr>
<td>{{ line.user }}</td>
<td>{{ line.pwd }}</td>
</tr>
{% endfor %}
</tbody>
</table>
<!-- 为 ECharts 准备一个具备大小(宽高)的 DOM -->
<div id="main" style="width:680px;height:450px;"></div>
<script type="text/javascript">
// 重新写一个script文件,因为引入echarts模板时已经导入了很多内容,所以只需要配置一些数据对象就ok了
// option 可以使用任意的echart官网上的option代替
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
var option = {
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'cross',
crossStyle: {
color: '#999'
}
}
},
toolbox: {
feature: {
dataView: {show: true, readOnly: false},
magicType: {show: true, type: ['line', 'bar']},
restore: {show: true},
saveAsImage: {show: true}
}
},
legend: {
data:['蒸发量','降水量','平均温度']
},
xAxis: [
{
type: 'category',
data: ['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月'],
axisPointer: {
type: 'shadow'
}
}
],
yAxis: [
{
type: 'value',
name: '水量',
min: 0,
max: 250,
interval: 50,
axisLabel: {
formatter: '{value} ml'
}
},
{
type: 'value',
name: '温度',
min: 0,
max: 25,
interval: 5,
axisLabel: {
formatter: '{value} °C'
}
}
],
series: [
{
name:'蒸发量',
type:'bar',
data:[2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3]
},
{
name:'降水量',
type:'bar',
data:[2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3]
},
{
name:'平均温度',
type:'line',
yAxisIndex: 1,
data:[2.0, 2.2, 3.3, 4.5, 6.3, 10.2, 20.3, 23.4, 23.0, 16.5, 12.0, 6.2]
}
]
};
<!--方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。-->
//setInterval(function () {
// option.series[0].data[0].value = (Math.random() * 100).toFixed(2) - 0;
// myChart.setOption(option, true);
// },2000);
// 使用刚指定的配置项和数据显示图表
myChart.setOption(option);
</script>
</body>
</html>