zoukankan      html  css  js  c++  java
  • 软件测试homework1 编程过程的一个小错误

      编程过程中印象较深的一次错误出现在完成可视化大作业时,当时使用d3.js对全国范围内的上市公司以省为单位进行分析。分析时准备使用d3基本图形中的饼图。由于对JavaScript及d3画图不熟悉,首先在网上寻找了一个类似的程序,按照该程序学习饼图的画法。但是当时只是了解了示例程序的大体意思便开始照猫画虎,并未对其进行深入的研究,结果使整个程序只能画出一个省的饼图。

      由于对原理不明白,直到询问了使用过饼图的同学才找到了问题的出处。之后再网上就该问题继续查询了相关资料,并对程序进行修改。

      问题的关键在于没有深入理解d3.js中select,append,enter,data等相关基础概念。Select函数用来选取元素,append用来插入元素,enter用来比较选取元素与绑定数据不匹配时的处理,data用来绑定数据。开始的错误程序使用了for循环,对每一个省的数据进行循环画图,首先用select选取元素,然后用enter函数判定所选元素与数据数目是否相同,若少于绑定的数据数目则使用append函数插入新的元素,但由于第一次循环之后并未使用remove函数将元素删除,导致数目始终相同(等于1),无法插入新的元素,因此只能画出一个饼图。

      修改时取消了for循环,对整体数据进行绑定,然后使用enter和append函数插入新的饼图。

      这次修改程序的过程告诉我们,在学习新的技术时,应当对其基础的内容进行较为深入的学习,而不能只是寻找示例进行简单的模仿。磨刀不误砍柴工,掌握了更多的知识才能避免更多不该出现的简单错误。

  • 相关阅读:
    PGL:Paddle带你走进图学习
    Improving the way neural networks learn
    文本语义匹配Simnet模型
    图卷积神经网络(GCN)
    git revert
    vi/vim多行注释和取消注释、复制粘贴
    谷歌之多任务学习模型MMoE
    阿里CVR预估模型之ESMM
    知识图谱简介
    CTR预估--Deep Interest Network
  • 原文地址:https://www.cnblogs.com/wr344970835/p/5250962.html
Copyright © 2011-2022 走看看