杨艳-第一次编程作业

博客班级 <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很多操作都还不是很熟悉,遇到问题不知道怎么解决。

参考资料:

  参考1:python中用json存储列表字典等文件操作

  参考2:Echarts官方教程

  参考3:commit常用方法

   详解Github的.gitignore忽略文件+.gitignore不生效解决方案 

     详解git commit --amend 用法 

    如何解决failed to push some refs to git 

    在github上创建代码仓库时忘记添加.gitignore文件或修改了.gitignore该怎么办 

    git - 简易指南 

 

  

posted @ 2021-02-26 02:32  yy-hm-0806  阅读(128)  评论(2编辑  收藏  举报