杨艳-第一次编程作业
博客班级 | <2018级计算机和综合实验班> |
---|---|
作业要求 | <第一次个人编程作业> |
作业目标 | <做成疫情全球统计图,学习HTML,javaScript,数据的获取,数据的处理,学习echarts,git commit 的正确使用> |
作业源代码 | https://github.com/yy-hm-0806/first-personal-work |
学号 | <211808581> |
代码数:64
项目 | 耗时i情况 |
爬取数据及处理 | 很久,久到无法计时 |
数据可视化 | 很久,久到无法计时 |
上传github | 很久,久到无法计时 |
准备工作:
看到作业的碎碎念:一看到作业,哇嘞!!也太太太太难,完全没思路,不知道怎么下手,然后看到一位同学的分享,那位同学用心的有两个作业的思维导图!!对其他同学非常友好!我本来打算选词云图的,但是看到爬数据的时候容易被反爬,不要等下一个作业,我连数据都爬不出来,还怎么写,我就马上转向全球疫情的了。我知道这是一个很宏大的作业,本来一点耐心都没有的,觉得要写出来完全8可能,或者要非常久的时间,后面,看到一个大佬的范文,他提到他的写作业每天5小时+,一共20h+。我就决定自己也好好干!
大概的思路:三大步:数据采集,在网页中数据可视化,,最后代码放到github中
一,数据采集:
1.不知道用什么来写代码,因为数据可视化,数据收集,感觉python好用写,就决定使用Jupyter Notebook写。
2.用有友的疫情全球统计,我购买到了api,但是我不会使用呀,这个api接口里有数据,我要怎么把它提取出来呢?我不知道怎么掉api接口。
原来购买的api这个网址当成要爬取数据的url就可以了。
3. 爬出来的字典类型的数据如何保存为json格式文件。参考1
二,数据可视化和网页的制作。
1.ECharts怎么下载使用?ECharts到底怎么和网页连接起来?
echarts.js是一个插件,里面有定义好的饼图,折线图等图,引入这个js,就可以使用echarts官网上提供的所有图表工具(echarts.min.js也可以,差别可以看参考资料)
我们使用的是世界地图,则要下载world.js地图插件,如果要用到中国地图,则只要下载China.js
关于下载echarts.js和world.js这是我探索非常久的一步。
官网上推荐的方法一什么的根本没有,我下载了也不知道怎么用,最后最有终于给我发现在官网下载的推荐方法三:在线定制可以下载到echarts.min.js。
world.js则在看到同学分享的github里面找
插件都下载好后,在javaScript里面引用插件就可以了。
2.背景什么的框架都有了,就只要把世界地图实例化,将疫情的数据套在地图上就可。
实例化是按照网上给的代码,复制的,因为实例化代码都差不多。
重要的是数据的格式!!!
var data =['name':xx,'value':xx],固定的name和value,
一开始我的数据格式是这样:
,一切都很完美,制作提示框的时候也可以出来。不知道让我后面有多痛苦
关于制作提示框:我也是看的别人的代码,发现可以拿过来用。提示框的formatt函数不会用,我也是借鉴领悟,读懂别人的代码的。formatter函数里面的使用跟自己的数据格式有关系。
开始渲染!!我在想,我有三个数据,我要怎么确定使用哪个数据来渲染呢,然后我看到官方教程。参考2
啊这..数据理解为二维数组??我的value里面全部是字典,怎么理解为二维数组。然后我就开始了疯狂的试探(N久),我都快疯了,我要怎么获取到value里面每个字典里的value值!!疯狂找资料。
然而并没有结果,因为我看到别人的值是这样vlaue只有简单的一个值 啊我的有这么多,可怎么搞!!
很久很久以后,突然,我想开了!!我只要把我的数据格式换一下就ok了,既能保留三个值,又可以使用dimensi这个属性。于是在数据的处理上又慢慢摸索,处理了很久的时间。(实际上我数据的处理反复改了三遍,因为写之前没有确定数据到底需要怎么样的格式,每写到一个新的和数据有关的配置项我都要回去弄新的数据格式,很浪费时间消磨我的热情啊啊啊!!)
这样一来我在visualMap里面的dimensio就可以设置为0了(下标从0开始),这样就是以第一个数据,国家的感染人数为渲染的依据,人数越多,颜色越深。
如何渲染下细节官方教程中很i详细。
三,代码上传至github
1.第一遍上传倒是没有问题。但是第二次commit到底是要怎么覆盖原来的代码,我就不是很懂然后我看到了一个资料,介绍的很好,详情在参考三。
2.但是有一个问题,就是在创建first-personal-work 这个仓库的时候,我忘记勾选。gitignore,以至于我每次git clone的时候都带有我原来上传的代码,这样一来我就不好覆盖了。
正常来说,每个分支下面也都有README.md这个文件,但是因为我有原来重复的代码,我想传新的代码去又不行,我就全部删掉了,结果README.md也删掉又出现了新的问题
红色部分就是出现的问题,我i无法git push成功。后面手动添加README.md回去也没有用!我实在没有办法,删掉整个库,重新再来了。后面正常操作还是有很多问题。
注:如果正常操作后,git commit 之后 还要 git pull origin main一下,然后再git push 否则一样会有上面的问题
真的烦死了。好多问题,不想干了。很多问题我都不知怎么用文字表述的好!!!!
结果:勉勉强强的上传成功了,但是还是有很多问题。后面自己再静心学习了。这个作业真的 有难到我,因为我后面才开始,所以作业做的不完整,又想快点交,所以有很多功能没完成
总结:
1.我的学习效率真的很低下,改个获取数据的格式要很久,我总是要花很长的时间才有一点点的进步,
2.不善于理清自己的思路,有时候不知道自己在干嘛,有时是想到哪步就做哪步
3,容易做重复工作,就是在处理数据的时候的前后改了三遍,因为不知道在echarts里面数据的格式是怎么样,一开始按自己的来,后面才看到echarts数据格式要求。
4学习有点半吊水,git 和github很多东西都还不清楚了解使用。git很多操作都还不是很熟悉,遇到问题不知道怎么解决。
参考资料:
参考2:Echarts官方教程
参考3:commit常用方法
详解Github的.gitignore忽略文件+.gitignore不生效解决方案
如何解决failed to push some refs to git
在github上创建代码仓库时忘记添加.gitignore文件或修改了.gitignore该怎么办