代写FIT5147 Data Exploration and Visualisation Semester 1, 2025代写Java编程

FIT5147 Data Exploration and Visualisation

Semester 1, 2025

Programming Exercise 3: D3 (5%)

Please carefully review all the requirements below to ensure you have a good understanding of what is required for your assessment.

1.  Instructions & Brief

2.  Assessment Resources

3.  Assessment Criteria

4.  How to Submit

5.  Late Penalty

1. Instructions & Brief

In this assignment, you are required to demonstrate the ability to complete the source code of an interactive visualisation built using D3.

Relevant learning outcomes for FIT5147:

6. Implement interactive data visualisations using R and other tools

The final visualisation:

The expected final visualisation is about a small subset of AusStage data (like in PE1 and PE2). This subset focuses on the contributor Kelly Abbey and their events and collaborators. The final visualisation is a web page containing a network diagram that shows an “event contribution network diagram”, which contains event personnel and their contribution to different events. The network diagram shows both events and contributors as network nodes, and the links between them. A legend explains the visual variables used for each node. A distinction is made between those nodes representing contributors and those for events, whether a contributor is male or female is also identifiable. An interactive checkbox in the legend allows the  user to change the network diagram. When the checkbox is unchecked, the event nodes are removed and a new diagram appears - the “collaboration network diagram” . This shows which contributors have collaborated with each other and how often. To the left of both network diagrams is a text box that describes the visual narrative and provides information about the data source (this is filled in for you).

The template:

For this task you are provided an incomplete file of source code for the final visualisation. Your task is to complete the code by following the provided instructions. We refer to this incomplete source code as the template. You are expected to not remove any aspect of this template.

The template is a single HTML document. All references to external libraries, datasets, CSS, and the layout are already provided in the template. The webpage uses a side-bar layout. The left side-bar contains basic information about the visualisation, some data insights and information relating to the data source. The main canvas on the right is where the visualisation is placed. The HTML elements of tooltips are also provided in the template (note that this screenshot is zoomed out to  see the full network):

To help you better understand the template structure, comprehensive comments are provided in the HTML elements as well as the javascript. Most of the javascript. code required to finish the visualisations is provided in the template, and is accompanied   by descriptions. Most of the descriptions are represented as the #TASK and  #END   TASK block of comments in the code.

About the data:

There are two dataset files used in this project containing attributes from the AusStage dataset that we have been using in the programming exercises throughout the unit. In this assignment, the data are in .json format and hosted on GitHub for you (you can see the data if you visit the url).

The AusStage subset focuses on the collaborator involved in the most events, Kelley Abbey. We have already cleaned and transformed the data into the format you need.

In wrangling the data we have removed duplicates, removed events not in Victoria and, if a collaborator has played various roles in different events, we have simplified this information to a single combined string property under “Role”, e.g., a collaborator may have been an Actor but also a Director.

The two files contain the following attributes and example values.

1)   event_contribution_network.json to create the “event contribution network

diagram” . In this network, there are two types of nodes (indicated by the “type” property): ”event” and “contributor”:

nodescontain the following properties, with an example:

"id": "event_158557",

"type": "event",

"name": "Jesus Christ Superstar",

"first_date": "2017-07-29",

"last_date": "2017-08-13",

"venue_id": "21",

"venue_name": "The State Theatre",

"suburb": "Melbourne"

edges :

"source": "event_28513",

"target": "contributor_564388"

2)   collaboration_network.json to create the “collaboration network diagram” . In this network, there are only “contributor” node types:

“nodes” :

"id": "contributor_1840",

"type": "contributor",

"name": "Eamon D'Arcy",

"nationality": "Australian",

"sex": "Male",

"role": "Set Designer",

"number_of_collaborators": 43

“edges” :

"source": "contributor_3060",

"target": "contributor_4070",

"weight": 1

Detailed tasks:

You will only need to complete the javascript parts. These parts are indicated by a comment line: “ADD YOUR CODE HERE FOLLOWING THE INSTRUCTION” and a short indication of instruction and reference to #TASK 1-7. There are 7 tasks that you need to complete. These tasks are based and graded on the criteria described in Section 4: Assessment Criteria. The following is the list of these tasks:

#Task 1: Add all nodes to the network diagram

●   Take the node variable specified in the code and use it to create a symbol representing each contributor and event in the network diagram;

●   The symbol and visual variable used should be an appropriate design choice:

○   Choose a visual variable to distinguish between event and contributor nodes;

○   Use a different visual variable to differentiate between male and female contributors.

#Task 2: Make the node symbols proportional to the data

●   Map the size of the contributor nodes to the number_of_collaborators (i.e., the node’s degree).

●   This should be visible in both network diagrams.

#Task 3: Make the collaboration network diagram links proportional to the data

●   Map the thickness of the links on the collaboration network using the weightproperty.

#Task 4: Label all nodes

●   Take the node variable and use it to create a suitable label;

●   The label should be either the full name of the contributor, or the name of the event;

●   The label should be placed in a suitable location above the node so that it is associated with the node it belongs to;

●   Set the class attribute of the label to "label";

●   Use a suitable design choice to differentiate between events and contributor labels, such as the use of bold for events.

#Task 5: Modify the legend

●   Modify the legend to show the visual variables for nodes you have chosen in Task 1.

(Note: for a complete visualisation we would also recommend you provide a legend to   show both the proportional size of the node symbols and the link width, but this is not a requirement for this programming exercise.)

#Task 6: Show the tooltip on mouse hover, when:

●   Show and hide the tooltip when the mouse pointer is on or leaving a node;

●   The tooltip should show relevant attributes associated with the node being hovered including:

○   for event nodes: "id", "name", "first_date", "last_date",  "venue_id”, "venue_name”, "suburb";

○   for contributor nodes: id", "name", "nationality", "sex", "role", "number_of_collaborators”.

●   Ensure each attribute and relevant information is on a new line.

#Task 7: Highlighting nodes and links:

●   When the mouse pointer is on a node, highlight both the node and neighbouring links;

●   Choose an appropriate highlighting option, which may include changing the

node/link color, size, or the opacity of other network elements;

●   Remove the highlighting / return the network diagram to the original state, when the mouse pointer leaves the node.

Remember, you are only asked to complete the tasks above. We have provided   hints for the location of a task within the template after “ADD YOUR CODE HERE FOLLOWING THE INSTRUCTION”.

General Help Notes:

●   The template has been tested in Chrome, Firefox and Safari. The checkbox that should be in the legend appears in the wrong location in Safari, but still functions. Try a different browser, such as Chrome / Firefox / Edge if this occurs. If you have issues with the template in other browsers, contact the team with a screenshot on Ed.

●   The template uses D3 v7. This is important when referencing online resources which may use older or newer versions of D3.

●   You are allowed to make some changes to the template, such as to add your  own CSS rules, and adjust fonts and styling. However, any issues which arise from this (e.g., network graph no longer working, layout changes, poor visual  changes to the visualisation) may result in marks being deducted, even if not  part of the given task.

●   The datasets are stored on an online repository and are referenced via URL in the template. The data is stored in the collaborationNetwork and eventContributionNetwork variables. You do not need to reference these variables directly as they are encoded in the graph variable which selects the correct network depending on the checkbox. You must NOT change the data paths, nor should you download and use a local copy in your submission.

●   Your code will be run through similarity detection software during the marking process. Be sure to acknowledge any reference sources in your code comments to avoid breaching academic integrity.

●   Generative Artificial Intelligence (Generative AI) software or systems cannot be used for any part of this assessment task, including (but not limited to) generating written or visual components of your submitted work or the programming code you use.

Further Visualisation Improvement Ideas:

Note: these are NOT required nor will they gain extra marks for your PE3

submission. Whilst none of these are a requirement of this assessment task, further improvements to the visualisation might include:

●   adding the minimum and maximum values for the proportional symbols and lines to the legend;

●   removing the non-highlighted node labels upon interaction;

●   adding further highlighting and exploration options;

●   setting the zoom to default to fitting in the opening window aspect ratio;

●   increasing the subset of the data to show many more collaborations across Australia and over time, perhaps being able to filter the network on the fly.

3. Assessment Resources

●    The template is provided in the assessment page on Moodle. The code to access the data is embedded in the template; no separate data file is needed.

4. Assessment Criteria

The following outlines the criteria which you will be assessed against.

●    Ability to create simple visualisations using D3 [3%]

o    Demonstrated ability to create basic SVG elements using D3 [1%]

o    Demonstrated ability to link data to visual properties [1%]

o    Demonstrated ability to choose appropriate visual variables to encode data [1%]

●    Ability to create interactive visualisations using D3 [2%]

o    Demonstrated ability to create an interactive visualisation in D3: tooltip [1%]

o    Demonstrated ability to create an interactive visualisation in D3:

highlight on mouse over [1%]

Please note that marks will be deducted if the provided template is not used, or if your submission uses modified and/or local copies of the datasets. Remember that you are allowed to improve the template with improved aesthetics (e.g., CSS) and adding more advanced interactions and/or layouts if you wish, but this is not required.

5. How to Submit

The code for the final interactive visualisation should be submitted through Moodle. Ensure that all necessary files for the visualisation are included. The code’s components (i.e., HTML, CSS, JS) should be in one .html file. Data files should not be included as these are accessed via the URLs provided in the template.

Submit a zip file (not alternative compression formats) containing the one .html file required to run your work. This must be a zip file as Moodle does not allow you to submit html  files. Name the zip file in this format: [STUDENT ID]_[FIRST

NAME]_[LAST NAME].zip

6. Late penalty

Following the Monash late penalty policy, late submissions will receive 5% deduction per day late. After 7 days, the assignment will not be graded or receive feedback.


热门主题

课程名

mktg2509 csci 2600 38170 lng302 csse3010 phas3226 77938 arch1162 engn4536/engn6536 acx5903 comp151101 phl245 cse12 comp9312 stat3016/6016 phas0038 comp2140 6qqmb312 xjco3011 rest0005 ematm0051 5qqmn219 lubs5062m eee8155 cege0100 eap033 artd1109 mat246 etc3430 ecmm462 mis102 inft6800 ddes9903 comp6521 comp9517 comp3331/9331 comp4337 comp6008 comp9414 bu.231.790.81 man00150m csb352h math1041 eengm4100 isys1002 08 6057cem mktg3504 mthm036 mtrx1701 mth3241 eeee3086 cmp-7038b cmp-7000a ints4010 econ2151 infs5710 fins5516 fin3309 fins5510 gsoe9340 math2007 math2036 soee5010 mark3088 infs3605 elec9714 comp2271 ma214 comp2211 infs3604 600426 sit254 acct3091 bbt405 msin0116 com107/com113 mark5826 sit120 comp9021 eco2101 eeen40700 cs253 ece3114 ecmm447 chns3000 math377 itd102 comp9444 comp(2041|9044) econ0060 econ7230 mgt001371 ecs-323 cs6250 mgdi60012 mdia2012 comm221001 comm5000 ma1008 engl642 econ241 com333 math367 mis201 nbs-7041x meek16104 econ2003 comm1190 mbas902 comp-1027 dpst1091 comp7315 eppd1033 m06 ee3025 msci231 bb113/bbs1063 fc709 comp3425 comp9417 econ42915 cb9101 math1102e chme0017 fc307 mkt60104 5522usst litr1-uc6201.200 ee1102 cosc2803 math39512 omp9727 int2067/int5051 bsb151 mgt253 fc021 babs2202 mis2002s phya21 18-213 cege0012 mdia1002 math38032 mech5125 07 cisc102 mgx3110 cs240 11175 fin3020s eco3420 ictten622 comp9727 cpt111 de114102d mgm320h5s bafi1019 math21112 efim20036 mn-3503 fins5568 110.807 bcpm000028 info6030 bma0092 bcpm0054 math20212 ce335 cs365 cenv6141 ftec5580 math2010 ec3450 comm1170 ecmt1010 csci-ua.0480-003 econ12-200 ib3960 ectb60h3f cs247—assignment tk3163 ics3u ib3j80 comp20008 comp9334 eppd1063 acct2343 cct109 isys1055/3412 math350-real math2014 eec180 stat141b econ2101 msinm014/msing014/msing014b fit2004 comp643 bu1002 cm2030
联系我们
EMail: 99515681@qq.com
QQ: 99515681
留学生作业帮-留学生的知心伴侣!
工作时间:08:00-21:00
python代写
微信客服:codinghelp
站长地图