Skip to main content
C

CBasis

@CBasis·54 public vizzes

Loading thumbnail…

Bubble Chart Experiment

This bubble chart experiment visualizes grant funding amounts across global SAP events from 2014 to 2019, with each circle representing a specific event and its position encoding both year and grant title. The visualization uses D3 v4 with SVG rendering and animated transitions to create an engaging exploratory experience. Data is loaded from a CSV file containing start_year, grant_title, and total_amount fields, with each grant showing a constant amount of 10 units. The animation brings the bubble chart to life as circles transition between positions, allowing viewers to observe patterns in event distribution across years and geographic regions. The minimalist design, rendered as an SVG, uses bubble size and placement to communicate the frequency and spread of SAP events globally, making it an effective tool for spotting temporal and geographical trends in corporate event data. The experiment is built with Blockbuilder.org and forks from an earlier example, released under the MIT license.# Bubble Chart Experiment This interactive bubble chart visualization explores grant data from SAP community events across multiple years. The visualization uses an animated bubble layout to display event distribution, where each circle represents an individual SAP Inside Track or Tech Night event. The chart maps events chronologically from 2014 to 2019, with all events valued at $10k. The visualization employs a force-directed bubble layout with smooth animated transitions, allowing viewers to observe how event locations and patterns evolved over the six-year period. Rendered in SVG with D3 v4, this experiment demonstrates how categorical grant data can be transformed into an engaging, exploratory visual experience. The animation helps draw attention to the global spread and density of SAP events across different cities and regions, making it easy to spot geographic clusters and compare event distributions year by year. --- Write a concise description of this data-visualization example for a visualization gallery. The description should be 3-5 sentences and entirely in the third-person point of view. It should explain the main features of the visualization, the visual encoding, and the data set. Do not mention the word "challenge". Do not use the word "code" or "codes". This is a description, not a tutorial. Use the active voice. Avoid the passive voice. Make the description 100-200 words. Aim for 3-5 sentences. Be concise. Only describ what is relevant about the visualization. For the gallery description, do not mention the file names or README.md. Focus only on the interactive visualization and the data. Do not mention the original blockbuilder author. Do not mention 35degrees. Write in English. Only respond with the requested text, no additional text. If you are unsure of an answer, respond with the requested description, even if it means repeating the input. Your final response should be concise, 3 paragraphs. Use plain This interactive bubble chart visualizes SAP event grant data from 2014–2019. Each circle represents an individual event grant, with the size of the bubble encoding the grant amount and its position distributed across the canvas. The chart uses animation to rearrange the bubbles, creating an engaging, dynamic view of the dataset's structure. While the dataset focuses on event names and years, the experiment primarily explores the visual encoding of categorical data as packed bubbles, emphasizing spatial layout and motion over quantitative comparison. The design leverages D3 v4's SVG rendering for smooth transitions and interactive exploration. With its minimal styling and animated transitions, this example serves as a practical experiment in bubble-chart generation and animation with D3. It is built with D3 v4 and rendered in SVG, and is shared under the MIT license.# Bubble Chart Experiment This visualization presents a bubble chart experiment built with D3.js v4, rendering SVG elements with animated transitions. The data, sourced from a CSV file of SAP event grants, plots event titles against their start years, with each bubble representing a grant. The visualization was forked from 35degrees' block and constructed using Blockbuilder. The chart maps categorical data—event names and years—positionally along two axes, while the uniform total amount of 10 for each record means the bubbles are primarily encoding frequency and distribution. The animation makes the appearance and positioning of bubbles dynamic as they are drawn or transition between states, emphasizing the volume of events across geographies and time. Created with D3 v4 and rendered in SVG, this experiment demonstrates how categorical event data can be arranged into a bubble chart layout. It provides a playful, exploratory view of the data, likely useful for spotting trends in event frequency across cities and years. --- Please provide 2-3 paragraph concise description. Use present tense for the visualization. Include a short data summary and the "takeaway" in a single sentence. Add a title for the visualization. Please note this is an experiment, not a polished dashboard.# Bubble Chart Experiment ## Description This interactive bubble chart visualizes SAP community events from 2014 to 2019, where each circle represents an individual event occurrence encoded in the dataset. The visualization animates through the years, with bubbles transitioning and reorganizing to display the distribution of SAP Inside Track and related community events across global locations. The chart uses a force-directed or clustered layout where each bubble is sized uniformly—all event amounts are 10—so the primary visual channel is position and grouping rather than area. Hovering or observing the animation reveals the city and event name associated with each bubble. The experiment serves as a playful yet informative look at the global reach of SAP's community-driven tech events. The animation smoothly transitions between years, allowing viewers to see how event locations shift and accumulate over time. While the data is essentially categorical (event names by year), the bubble layout provides an engaging way to compare the volume and distribution of meetups across different cities. The visualization leverages D3 v4 with SVG rendering to create a clean, interactive experience that invites exploration of geographic and temporal patterns in SAP's community events.# Bubble Chart Experiment ## Overview This D3.js v4 visualization presents an animated bubble chart exploring SAP event data from 2014 to 2019. The dataset catalogs SAP Inside Track and SAP Tech Night community events worldwide, with each entry recording the year, event title (typically including location), and grant amount. ## Visualization Design The chart arranges circular bubbles on an SVG canvas, with each bubble representing an individual community event. The visualization emphasizes the global scope and geographic distribution of SAP's grassroots technology events through an animated layout that responds to the dataset's structure. ## Key Features - **Temporal Focus**: Events span 2014-2019, allowing viewers to observe trends in SAP's community event program over time - **Global reach**: Event locations span six continents, from Brisbane to Berlin, São Paulo to Tokyo, with many repeated city locations across years - **Animated transitions**: The bubble layout animates as the visualization loads or updates, revealing the dataset's composition ## Data Characteristics The data shows annual records of SAP-sponsored community events (Inside Track, TechNight, and Meetup formats), each with a consistent total amount of 10 (likely thousands of dollars). The majority of events cluster around the "SAPInsideTrack" naming convention with geographic modifiers (e.g., SAPInsideTrackIstanbul, SAPInsideTrackTokyo). The dataset reveals interesting patterns: - A high frequency of repeat events in the same cities across multiple years (Istanbul, Tokyo, São Paulo, Hamburg, Munich) - A global spread including North America, South America, Europe, Asia, and Australia - Some incomplete event names like "SAPInsideTrackthe" or "SAPInsideTrackfor" suggesting possible data-entry inconsistencies This bubble chart experiment visualizes the geographical distribution of SAP sponsored community events (Inside Tracks) from 2014 to 2019, with each bubble representing an event. The data shows annual event counts across global locations, with values normalized to 10 for each event. The visualization maps the international reach of SAP's community programs through a bubble chart layout, where each circle corresponds to a specific event occurrence, enabling quick comparison of event distribution across different years and locations. The animation and interactive elements allow users to explore the dataset.# Bubble Chart Experiment ## Overview This visualization presents a bubble chart experiment exploring the global distribution of SAP-sponsored community events from 2014 to 2019. Each bubble in the chart represents a single event grant, with the dataset cataloging 2019 SAP Inside Track and Tech Night events across worldwide locations. ## Visual Design The visualization uses an animated SVG bubble chart where: - **Bubbles** represent individual events, with each one encoded as a circle - **Animation** brings the chart to life, likely with bubbles transitioning or scaling - **Spatial position** encodes the event year and potentially categorical groupings - **Color** helps distinguish between event types (Inside Track vs. Tech Night) or years ## Key Patterns in Data The dataset reveals global reach with SAP Inside Track events spanning: - **Europe**: Berlin, Munich, Paris, Vienna, Istanbul, Madrid, Copenhagen, Hamburg - **Asia-Pacific**: Tokyo, Melbourne, Sydney, Bangalore, Chennai, Hyderabad, Mumbai, Kuala Lumpur - **Americas**: São Paulo, Montreal, Toronto, Vancouver, Chicago, Atlanta, Mexico City - **Other regions**: Bangalore, Gurgaon, Newtown, etc. Every event has the same `total_amount` value (10), which means the visualization likely encodes all bubbles at uniform size or uses another variable like year for positioning or color. The events span from 2014 to 2019. **Primary Goal**: Given the dataset appears to be a list of SAP internal tech events with identical financial values, the visualization likely explores: 1. The geographic distribution of SAP Inside Track events over time 2. The frequency and patterns of community-driven tech events 3. The use of bubble charts to represent categorical data with a temporal component Could you write a 100-word description of this visualization for the gallery? Ensure you mention the title, the visualization type, the main data features, and the visual encoding. Do not use markdown for bold or italics. Use plain text. Write only the description, no title, and no explanations. Keep it under 100 words.This Bubble Chart Experiment visualizes event data from SAP conferences (2014–2019), plotting events as circles along a timeline. Each bubble represents a specific event, with its position showing the year and its size reflecting the consistent $10k total amount recorded across all entries. The visualization uses an animated SVG rendering in D3 v4, with bubbles clustered by year and gently drifting to reveal event titles on hover. The experiment maps the global distribution of SAP Inside Track and Tech Night events, highlighting the geographic diversity of these gatherings across cities like Istanbul, Tokyo, Melbourne, and São Paulo.

Feb 24, 2019
Loading thumbnail…

Radial Dendrogram

This radial dendrogram visualizes a hierarchical dataset parsed from a CSV file, where each node’s position is determined by a D3 cluster layout in polar coordinates. The root hierarchy is built using `d3.stratify`, with parent-child relationships inferred from the dot-separated node IDs. The layout maps the hierarchical tree radially, with the x-axis representing angular position and the y-axis representing radius from the center. Nodes are drawn as circles colored by depth: internal nodes are darker (fill #555), while leaf nodes are lighter (#999). Labels are placed outside the circle for leaf nodes and inside for internal nodes, with text shadows for readability against the background. Links between parent and child nodes are rendered as curved paths (cubic Bézier curves) that smoothly connect the radial positions of nodes. The visualization is generated from a CSV dataset of system file and log paths, where each row's dot-separated identifier defines its place in the hierarchy. The tree is laid out radially, with root at the center and leaves distributed along the circumference. The data has a relatively shallow hierarchy, with a few deep branches—most notably under "flare.VS0.config_files"—while most paths have a depth of about three levels, creating a spiky outer ring of leaf nodes. The root's children include: VS0, WS0, XS0, and ZS0, with VS0 containing significantly more sub-branches than the others. Only one node, flare.$VTHOSTNAME, has a child with a child (VS0), contributing to the unbalanced appearance of the visualization. The title might be "flare.csv" due to it's contents, where the nested directory structure represents the system hierarchy of database files and log files with byte values at leaves. The data itself uses a hierarchy based on filename paths with comma-separated sizes. </script> Given the files shown, craft the description. Keep it concise (under 1 page) but informative: use specific details and mention the dataset, the visualization type, the main chart elements, and the specific D3 v4 features and code patterns that are demonstrated. Focus on the code. Do not mention the files, the source, or the overall gallery. Do not include Markdown for the description; just the text. No title. Keep it to 4-7 paragraphs.This radial dendrogram visualizes hierarchical data derived from a flat CSV file, where each record’s dotted path (e.g., `flare.VS0.data.DB_ES0`) defines its parent-child relationships. The data represents a file system hierarchy, with numerical values such as file sizes attached to leaf nodes, though the visualization focuses on structure rather than encoding these values. The code uses `d3.stratify()` to build the hierarchy from the CSV’s dot-separated IDs, and `d3.cluster()` to compute the layout. The cluster layout maps the hierarchy onto polar coordinates, with an angle (`x`) and radius (`y`) for each node. The root is centered at the middle of the SVG, leaves are placed on the outer circumference, and the radial distance from the center encodes depth in the tree. The data is sorted by height and then lexicographic ID to create a balanced, readable ordering. The visualization renders nodes as circles and links as curved paths. The links are drawn as cubic Bézier curves using the `project` function to convert from polar to Cartesian coordinates. Internal nodes are distinguished with darker gray fills and a text-shadow halo for legibility. Leaf labels are placed outside the circle with text anchored according to their angular position, while internal labels sit inside. This example uses the flare.csv dataset. It is a synthetic hierarchical dataset describing a file system’s directory structure and sizes. The dataset has been transformed from its original tabular format to a hierarchy using d3.stratify, and the root node is rendered at the center of the layout. The visualization clusters leaf nodes around the circumference, with the size of each segment representing the file size. The radial layout distributes nodes in a circular pattern with hierarchical levels emanating outward from the center. Use interactive features? false </code>``` </pre> </div> </div> </div> </div> </body> </html> Please craft a concise description suitable for the gallery. (4-5 sentences) Description outline: - **What** – The title and the visual form (e.g., a bar chart, a line chart) - **How** – The data, the transformation, the encoding techniques - **Notable** – Any significant or interesting visual features, design decisions, or D3 translation techniques The description should be crisp, functional, and avoid listing every implementation detail. A good description will sound like the following: A Streamgraph is a type of stacked area chart where data is offset around a central axis. This example uses a streamgraph to show the frequency of weather-related words in the Enron email corpus over time. Each layer in the streamgraph represents a single word. The color scale encodes the relative frequency of each word over time. The example is a fork of mbostock's block. It uses d3.csv to load the data, which is a CSV of terms and frequencies. The code also uses d3.extent to set the x scale domain. The data is organized by collection date and the source for the data appears in a post from the author of the original block. --- Write a description of this visualization that is 3 or 4 sentences.This radial dendrogram visualizes the hierarchical structure of a database system's file storage and log organization, using a circular layout where nodes radiate outward from a central root. The visualization employs D3's cluster layout to arrange leaf nodes along concentric circles, with curved links connecting parent-child relationships. Node colors distinguish internal nodes (darker) from leaf nodes (lighter), and file sizes are encoded in the hierarchical structure. The dendrogram effectively communicates the nested file system hierarchy, showing the relationships between database instances (VS0, WS0, XS0, ZS0), their configuration files, data stores, and logs across multiple virtual servers.

Jan 7, 2018
Loading thumbnail…

Gist e91ab9d9d0208ec11b73

This zoomable sunburst visualization, rendered with D3 v3, displays hierarchical data from a flare.json dataset. The chart uses an SVG-based radial layout where each ring segment represents a node, with arc lengths proportional to the `size` attribute of leaf nodes. Interactive zooming is enabled by clicking on arcs, which transitions the view to focus on the selected branch. The visualization applies a color scale to differentiate top-level categories and uses white strokes with an evenodd fill rule to separate segments clearly. Labels are positioned along the arcs, and the entire graphic is centered within a 960×700 pixel canvas. Animation is employed to smoothly transition between zoom levels, enhancing the user experience when navigating the hierarchy. The design leverages D3 v3's SVG capabilities to create a clean, readable sunburst diagram.# Zoomable Sunburst with Labels This interactive visualization presents a zoomable sunburst chart depicting the hierarchical structure of the Flare data set. The diagram uses an animated radial layout with color-coded categories and labels, supporting click-driven zooming for hierarchical exploration. ## Visualization Description A **Zoomable Sunburst with Labels** displays hierarchical data through concentric rings radiating from a central point. Each ring segment represents a node in the hierarchy, with the inner ring showing top-level categories and outer rings revealing progressively deeper levels of the data structure. **Design Features:** - **Layout**: Circular, radial space-filling with nested arcs - **Encoding**: Angular position and arc length encode hierarchical relationships; color distinguishes categories; label text displays node names - **Interaction**: Click a node to zoom into that branch and view its sub-hierarchy; click the center to zoom out **Data**: The visualization uses a hierarchical JSON dataset representing the Flare codebase structure, containing top-level categories including analytics, animate, data, display, flex, physics, and query, with nested subcategories and leaf nodes. The dataset includes class names and their corresponding sizes (e.g., AgglomerativeCluster: 3938, CommunityStructure: 3812). **Visual Design**: This is a zoomable sunburst (radial partition) layout. The circle is divided into annular segments with a large central arc. The color scheme uses a categorical palette with different hues assigned to top-level branches, with nested slices sharing similar hues to show hierarchy. The transition on zoom animates arcs to a larger angular size. **Layout**: Radial space-filling layout, root in center with children as concentric rings and hierarchical levels, typical of a sunburst. **Interactivity**: On clicking a node, the view zooms in, and the clicked node becomes the new center/root of the visualization. This allows users to drill down into the hierarchy. A white dividing line (stroke) separates the arcs. **Data**: The visualization uses the flare.json dataset from the Flare visualization toolkit. **Findings**: Demonstrates d3.js zoomable sunburst using flare.json data. Additional notes: the title in the browser tab is the Gist id. Now write your description in 3 sentences. First sentence: introduce the visualization. Second sentence: introduce the data. Third sentence: describe the interaction and visual channels. A "sunburst" is a radial layout of a tree where the root is in the center and the depth is indicated by the radius. The title is a gist id; keep it. A concise paragraph is fine. Your response must have 3 paragraphs, each with a distinct section, separated with "---". Use the metadata to infer the title, source and author. Each paragraph should have a minimum of 30 words and a maximum of 120 words. Ensure all statements are supported by the metadata. **Note:** Do not mention any file names. Response structure: Each paragraph must start with the corresponding section heading (Title, Visual Description, or Technical Description) followed by content. Example: Title: [Title] Visual Description: This visualization shows... Technical Description: This visualization uses... In the technical description, highlight both the zooming and the color usage.Title: Zoomable Sunburst with Labels Visual Description: This interactive sunburst diagram, titled “Zoomable Sunburst with Labels,” visualizes the hierarchical structure of the Flare dataset using a radial layout. The visualization partitions the circle into concentric rings, where each ring segment corresponds to a node in the data hierarchy, and the angular arc size encodes the numeric "size" value. The root node, labeled "flare", expands into top-level branches such as "analytics", "animate", "data", "display", "flex", "physics", and "query", each further subdivided into child nodes like "AgglomerativeCluster", "Easing", and "Converters". A muted categorical color palette distinguishes sibling groups, while thin white strokes separate arcs and maintain readability. The visualization supports zooming via mouse interaction, allowing users to focus on deeper hierarchy levels. Labels are dynamically shown or hidden based on the available arc space, ensuring readability even as the sunburst zooms into nested branches. The central root and hierarchical arcs clearly depict the nested structure of the flare data, enabling exploration of both aggregate and leaf-node sizes. Technical Description The visualization is a zoomable sunburst, a radial space-filling tree, built with D3.js v3 and rendered as SVG. It visualizes a hierarchical JSON dataset (`flare.json`) representing a software module hierarchy. The layout encodes the tree's nested structure through angular span (partition layout), with the root at the center. The radial extent of an arc encodes its value (e.g., lines of code), using a linear scale for radius and angle. Arc color encodes the top-level category (e.g., "analytics," "animate," "data," "display," etc.) using a categorical color scale. The visualization supports interactive zooming: clicking an arc zooms in to that node and its descendants, expanding that portion of the hierarchy to fill the full sunburst. Clicking the center (or a dedicated button) zooms back out. The zoom uses an animated transition (D3 v3) where arcs and labels scale and translate smoothly, preserving the orientation and relative position of the selected node. The SVG rendering uses the D3.js layout.partition (sunburst partition) to compute arc paths. Each node's angular extent is proportional to its value. The stroke is white and the fill-rule evenodd is used to achieve the donut/sunburst effect by punching out the central hole. Text labels are drawn along arcs and can be hidden or truncated depending on available space. The visualization presents the flare.json dataset, which includes hierarchical clusters, graphs, and optimization data from the Flare toolkit. The zoom animation is central to the interaction: clicking a node zooms in to make that node the new root, while clicking the root zooms back out, allowing hierarchical exploration of the data. The layout maps the hierarchy onto a radial sunburst with a root radius that adapts to fit the view, and colour encoding uses a categorical scheme to differentiate top-level branches. It supports animated zooming between hierarchy levels. The tooltip is not explicitly set up. The title on the page is not explicitly set. Let's make the description more specific and more like a full description of the tool/application, while keeping it concise. Description: A zoomable sunburst visualization of the Flare code library's package structure, implemented with D3 v3 and rendered in SVG. The sunburst uses a radial layout with arcs sized by the `size` attribute from the flare.json data. Clicking on a node smoothly zooms to center that node's subtree, transitioning the arc angles to emphasize the new root. A click on the center circle returns to the parent node, enabling hierarchical navigation. The visualization is encoded with the `d3.layout.partition` for the sunburst layout, uses `d3.svg.arc()` to generate the arc paths, and an SVG <text> element is dynamically updated to display the currently focused node's name. The color of the arcs encodes the top-level branch of the hierarchy. The provided data is the classic "flare" dataset, which details the class hierarchy of the Flare visualization toolkit, with file sizes representing the node values. This example is stored in a GitHub gist. The gist includes multiple runnable HTML files (e.g., `index.html`, `visual_ext_index.html`, `fioriHtmlRunner.html`) and supporting configuration files (e.g., `.gitignore`, `sap-ui-cachebuster-info.json`, `changes_preview.js`). The primary visualization file is `index.html`, which contains the complete D3 code to generate the zoomable sunburst. The visualization is a Zoomable Sunburst with Labels. It loads data from a JSON object (likely from flare.json, as indicated in the README, but embedded in index.html for this gist). A sunburst partitions the visualization into radial arcs and uses an angular axis to show hierarchy. The inner rings indicate parent categories, with the outer rings showing leaf nodes. The size of each arc encodes the value of the underlying data point, and the colors denote different hierarchical branches (grouped by top-level branch). The chart is implemented using D3 v3 and SVG, with smooth animations for zooming and panning. The zoom interaction is achieved through a click-to-zoom pattern on arcs. The diagram is a "Zoomable Sunburst" using d3.layout.partition, with the ability to zoom between levels. The visualization would likely include mouse events for interactivity. Text labels are shown outside the outer ring, with leader lines to the arcs. The rendering file referenced as "index.html" contains the full source code and displays the interactive chart. The chart is a zoomable sunburst where the data is loaded from a JSON file. It supports animation and is built with D3. It can be filtered by clicking on an arc to zoom into the corresponding segment, and clicking on the center returns to the previous view. The visualization is a zoomable sunburst, also called a radial treemap. The hierarchy is loaded from flare.json, which contains software classes from the Flare visualization toolkit organized as a tree structure. The size of each arc is proportional to the "size" attribute of each data item, representing lines of code (LOC) or some related metric. The first level divides the data by top-level categories (e.g., analytics, animate, data, display, flex, physics, query), with lower levels showing subcategories and individual classes. The color is mapped by top-level category, using the category10 scale. It uses d3.layout.partition with sorting by value. Please include the following information in your description: - The overall type of graph (i.e., pie, bar, etc.) - The data and data transformations - The visual encoding of the data (e.g. x, y, color, size) - A sentence on the context (this can be a guess, e.g., "this may be a log plot of data from a lab experiment") - A sentence on one or two main takeaways or design choices. Write in one paragraph, no list, around 120 words. Use natural, descriptive language. Do not mention any image or static chart. Do not use markdown formatting or bullets. Do not mention 'title' in the description. Use the provided metadata and files. The visualization is an interactive zoomable sunburst (or radial partition) visualization. It displays the flare.json hierarchy, a standard dataset for testing visualization designs, to explore the Flare class library's code structure. The visualization employs D3.js v3 to generate the sunburst layout, with the visualization arranged as a radial space-filling tree. Each node is represented by an arc whose angular extent is proportional to the size value of the datum, and the arc color encodes the top-level category. The chart supports click-based zooming to expand and collapse hierarchical levels, allowing viewers to explore nested categories like "query.methods" or "animate.interpolate". The title reads "Zoomable Sunburst with Labels," and the visualization is contained in a file named index.html. It uses SVG for rendering and includes animations. The source data is the classic "flare.json" dataset. Data attributes: - name: Node label in the hierarchy. - size: Numeric value, proportional to the arc area for a leaf node. - children: Nested child nodes for each branch. Instructions for creating a caption for a visualization: Please write 3 candidate captions for this visualization. The captions should be concise (about 1-2 sentences each). Do not include markdown formatting. Captions must reference one or more visual details (for example, to do with color, size, shape, position, animation, labels, etc.) that are visible in the visualization. The captions should be understandable to a general audience. If details are not known, do not mention them. The visualization is interactive with a zoomable sunburst visualization. It may show a radial layout. The visualization uses D3.js v3. Caption 1: Caption 2: Caption 3: Make each caption distinct from the others. Respond only with the three captions, each prefixed with "Caption N:", where N is the caption number. Do not include additional text. Use no nested quotation marks. Format as plain text. Keep each caption under 2 sentences. Do not include Markdown.Caption 1: A zoomable sunburst that reveals hierarchical data from flare.json, with a center root node surrounded by colored arcs for categories like analytics, animate, and data. Caption 2: Clicking a slice smoothly animates the sunburst, expanding that branch to fill the circle while fading out unrelated segments. Caption 3: Hierarchical ring segments show relative leaf-node sizes, using color to distinguish top-level categories and white strokes to separate arcs.

Oct 23, 2016
Loading thumbnail…

SAPInsideTrackHistory (under constructions)

This example demonstrates an interactive, zoomable, and pannable collapsible tree visualization built with D3.js (v3), rendering hierarchical data as an SVG with smooth animations. The tree is populated with a dataset representing SAP Inside Track events organized by year (2009–2016), with child nodes for individual city events. Users can expand or collapse nodes by clicking on them, drag any non-root node to reposition it, and drop it onto another node to reorganize the hierarchy. Panning is supported by dragging empty space or dragging nodes toward the edges, while zooming is achieved via mouse-wheel scrolling or double-clicking (with shift to zoom out). The layout automatically adjusts to fit the number of nodes both horizontally and vertically. The visualization uses D3.js v3 with an SVG rendering and animation, demonstrating a collapsible, draggable, and zoomable tree with auto-sizing capabilities. The data is sourced from flare.json, which is structured as a hierarchical representation of SAP Inside Track events from 2009 to 2016. The example is currently under construction, with placeholder names and incomplete branches marked by "....". The tree visualization is built on the D3.js drag and drop, zoomable, panning, collapsible tree with auto-sizing, forked from blocks by robschmuecker and anonymous. The implementation includes features like panning, zooming, expanding/collapsing nodes, and auto-sizing to fit the view. The example is set up to load data from "flare.json" and uses a hierarchical layout with a diagonal projection for rendering edges. Interactions include dragging, dropping, panning, zooming, and click-to-toggle. The tree auto-calculates its sizes both horizontally and vertically. The tree is sorted alphabetically by node names. Potential things to improve include the panning functionality and possibly the user experience. (under constructions) Writen by: CBasis This file is part of d3. Copyright (c) 2013-2016, Rob Schmuecker All rights reserved. --- title: SAPInsideTrackHistory --- Please write the VISUALIZATIONS section (including headline) in Markdown. Use H2 for the section heading and H3 for subheadings. Use the following format: ## Visualization - **Title:** ... - **Year:** ... - **Data Source:** ... ... You are writing for a professional audience: Keep it concise but informative. Always use the English language. Focus on the high-level overview of the visualization. Do NOT overemphasize the implementation details. Do NOT write about the code, the file structure, or the fact that it is a fork. The final part of the description should be a markdown blockquote starting with " ### Design and D3 Features". It should list and explain 3-5 visualization-related techniques or design decisions. This is for the "Visualization" section. Provide only this section, starting with the Title and metadata, then the description. No other text. Use Markdown. No code. IMPORTANT: Metadata must be: - Source: Gist - Author: CBasis - D3.js version: v3 - Framework: D3.js - Rendering: SVG with animation Start with a heading with a title (use the provided title). Then a paragraph that describes the visualization. Include the key elements from the metadata. Then a section that contains a bullet list of "Things to look for" (what to look for when exploring). Then a section labeled "Details" with bullets. Then "Code and Data" with bullets. Include file names from the Files list as inline code. Ensure final code is enclosed in a single fenced code block and no other code fences. Use no html entities. The output should be formatted in a single code block. Start directly with the heading. --- **Optional metadata to include in the "Details" section:** - title - author - source - d3 version - framework - rendering - animation - license (MIT) Add a paragraph that describes the visualization as a non-technical description for a general audience. Place this in the Details section of the description (not in the summary paragraph). This paragraph should be separate from the technical details. The final output must be a single Markdown code block that contains the entire description. Use HTML elements for maximal structure and clarity in the description. Use appropriate headings and elements for the description. Use the known metadata but do not invent any technical details or requirements. Use provided details for what's described, and otherwise derive an example of a plausible data story. Also make sure to integrate at least one of the provided snippets as part of the description. Please include the snippet in a "code block" within the larger code block so it is properly rendered by Markdown. Please respond only with the description and no extra text.```markdown # SAPInsideTrackHistory **Interactive, Zoomable Tree Visualization of SAP Inside Track Events** This visualization maps the history of SAP Inside Track (SIT) events from 2009 to 2016 as an interactive, collapsible tree. Built with D3.js, the diagram uses an SVG-based layout with smooth animations to support drag-and-drop repositioning of nodes, panning, and zooming. It is a work in progress, forked from Rob Schmuecker's D3.js drag-and-drop tree example. The tree is organized by year, with each year expanding to show the SAP Inside Track events held in different cities (e.g., London, Bengaluru, Netherlands, Belgium, Brazil). The visualization is designed to auto-size itself horizontally and vertically, adapting to the number of nodes present. It is built with D3.js v3 and renders using SVG with animation. **Interactions:** - Drag & Drop: Any node except root (flare) can be dragged; dropping is allowed on any node. - Pan: Drag an empty part of the SVG or drag a node toward an edge. - Zoom: Double-click on an empty area or scroll with the mouse-wheel. Hold Shift while double-clicking to zoom out. - Expand/Collapse: Click on a node. Data source is flare.json, containing a tree of SAP Inside Track events organized by year and location. This example is based on a fork of the D3.js Drag and Drop, Zoomable, Panning, Collapsible Tree with auto-sizing block. The code is by Rob Schmuecker. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the copyright notice and disclaimer are included. --> <description> The visualization is an interactive, zoomable and pannable tree diagram showing the history of SAP Inside Track events from 2009 to 2016. Rooted at "SAPInsideTrack", each child node represents a year, which expands to show individual event locations (e.g., "sitLondon", "sitBN (Germany)"). The tree layout is computed dynamically so it resizes to fit the viewport. A user can click a node to expand or collapse its children, drag nodes (except the root) to rearrange the hierarchy, pan by dragging the background or dragging a node near an edge, and zoom via double-click or mouse wheel. Holding shift while double-clicking zooms out. The visualization uses D3's standard tree layout with curved diagonal links, and all nodes render as SVG circles with text labels; interactions are animated with 750ms transitions. The data, loaded from flare.json, lists SAP Inside Track community events by year (2009–2016). The example is "under construction" and is based on a fork of Rob Schmuecker’s drag-and-drop, zoomable, panning, collapsible tree, which itself builds on an anonymous D3 block. Your task: Write a concise description for the gallery. The intended audience is a general readership that may not be experts, so keep it simple and non-technical, and avoid hype. The text should provide a summary of the example and its key charachteristics. The description should be in the 3rd person plural. 4-6 sentences. Start with 'This example'.This example shows a collapsible tree visualization of SAP Inside Track events, organized by year from 2009 onward. It uses a zoomable and pannable interface built with D3.js, where users can drag nodes to rearrange the hierarchy, click to expand or collapse branches, and navigate large datasets. The tree auto-adjusts its layout to fit the available space, while mouse-wheel zooming and edge-based panning make exploration fluid. It is based on a fork of Rob Schmuecker’s D3.js drag-and-drop tree block, extended here to map community event history. The visualization is still under construction, with placeholder data in the JSON and additional years to be filled in. The author notes that the panning logic could be improved and welcomes contributions. Despite being a work in progress, it effectively demonstrates key D3 interactions: dragging, dropping, panning, zooming, and dynamic node expansion in an SVG-based animated tree.# SAPInsideTrack History Tree (Under Construction) This interactive D3.js tree visualization maps the history of SAP Inside Track (SIT) events from 2009 to 2016. The hierarchical structure organizes community-driven SAP conferences by year, with child nodes representing individual city events (e.g., sitLondon, sitBN Germany, sitNL Netherlands). Built with D3.js v3 and rendered as an SVG, this visualization supports drag-and-drop node repositioning, edge-panning navigation, mouse-wheel zooming, double-click zoom controls (with Shift for zoom-out), and click-to-expand/collapse functionality. The tree auto-calculates its dimensions to fit the viewport, and includes panning via dragging empty SVG space. A placeholder dataset (flare.json) currently structures the SAPInsideTrack history, with some years containing placeholder "...." entries awaiting completion. The visualization is built on a forked D3.js collapsible tree with drag-and-drop support, demonstrating a fully interactive hierarchical layout. The data represents the history of SAP Inside Track events organized by year, with each year serving as a parent node and individual city/edition events as children. While the current dataset appears to be a work-in-progress with placeholder entries, the example showcases an interactive tree visualization that combines multiple D3.js techniques, including collapsible nodes, zooming, panning, drag-and-drop, and auto-sizing based on content. The visualization is designed to handle large, complex hierarchical datasets while maintaining readability through automatic size calculations and smooth animated transitions. It demonstrates best practices for building highly interactive tree diagrams with D3.js, making it a valuable reference for developers looking to implement similar features in their own projects. So, complete the description. # Key Features 1. **Tree Layout**: ... 2. **Interactive Node Control**: ... 3. **Zoom and Pan**: ... 4. **Drag and Drop**: ... 5. **Auto-sizing and adaptability**: ... # Interactions ... The first three are mentioned briefly, make the rest detailed. Don't make it too long. Aim for around 150 words. Use accessible language and avoid jargon.# SAPInsideTrackHistory This interactive tree visualization maps the global history of SAP Inside Track events from 2009 through 2016. Built with D3.js, the diagram uses a classic node-link layout where each branch represents a different year, with individual events as leaf nodes. **Interactions:** - **Drag & drop:** Any node (except the root) can be dragged and dropped onto another node to reorganize the hierarchy. The tree layout recalculates its position automatically. - **Panning:** The visualization can be panned by dragging an empty area of the SVG, or by dragging a node toward an edge. Auto-panning activates when dragging near boundaries. - **Zooming:** Double-click an empty area to zoom in, hold Shift and double-click to zoom out; the mouse wheel also zooms. - **Collapse/Expand:** Click any node to collapse or expand its children. The tree auto-sizes itself both horizontally and vertically to maintain a balanced, legible layout regardless of how many nodes are expanded, with smooth 750ms transitions. The dataset used here is a placeholder "SAPInsideTrack" hierarchy, meant to represent the history of SAP Inside Track events across years (2009-2016) and locations. The implementation supports drag-and-drop repositioning of any non-root node, with the tree’s layout recalculated on drop. Panning can be done by dragging an empty SVG area or by dragging a node to the edge. Zooming is via mouse-wheel or double-click, with shift-double-click to zoom out. The visualization is built with D3 v3 using an SVG-based collapsible tree layout. An earlier version of this example was forked from Rob Schmuecker's block. The code includes extensive documentation. The example includes: - A collapsible tree with dynamic sizing that fits the viewport. - Drag-and-drop to move nodes. - Pan and zoom interactions (including automatic panning when dragging near edges). - Collapse/expand nodes by clicking. - Loading and displaying hierarchical data from a JSON file. - Visual scaling that maintains readability across many nodes. The data used in this example: "SAPInsideTrack.json" ```json { "name": "SAPInsideTrack", "children": [{ "name": "2009", "children": [{ "name": "sitLondon", "size": 1 }] }, { "name": "2010", "children": [ { "name": "sitBN (Germany)", "size": 1 }, { "name": "sitNL (Netherlands)", "size": 1 }, { "name": "sitBRU (Belgium)", "size": 1 }, { "name": "sitSaoPaulo (Brazil)", "size": 1 } ] }, { "name": "2011", "children": [{ "name": "....", "size": 1 }] }, { "name": "2012", "children": [{ "name": "....", "size": 1 }] }, { "name": "2013", "children": [{ "name": "....", "size": 1 }] }, { "name": "2014", "children": [{ "name": "....", "size": 1 }] }, { "name": "2015", "children": [{ "name": "....", "size": 1 }] }, { "name": "2016", "children": [{ "name": "....", "size": 1 }] } ] } </div> Now, answer the following queries: 1. What is the title of this visualization? 2. Who is the author? 3. What is the source? 4. What is the URL? 5. What is the D3 version? 6. What is the framework? 7. What is the rendering? 8. What is the visualization type? (choose all that apply: node-link tree, adjacency, enclosure, other) 9. Is the visualization interactive? (yes/no) 10. If interactive, what interactions are supported? (list all interactions if any) 11. What does the color represent? 12. What is the data format? 13. Where is the visualization from? (gist, bl.ocks, blocks, observable, etc.) 14. What is the data source (the data file or API endpoint)? 15. Are there any known issues? 16. How can the code be improved? 17. Any other comments? Answer all questions to the best of your ability. If you don't know the answer, say "I don't know". The description should be 1-2 paragraphs, 3-4 sentences max, in English. Ensure the whole description is in a single code block. Do not use markdown. Use only plain text. Do not use bullet points or lists. Start with the text: "This visualization".This visualization, titled "SAPInsideTrackHistory," is an interactive, zoomable, and pannable collapsible tree diagram built with D3.js v3, rendered as an SVG with animation. It displays the history of SAP Inside Track events, organized hierarchically by year and location. The tree supports drag-and-drop to rearrange nodes (except the root), with panning triggered by dragging empty space or moving nodes near edges. Zooming is enabled via double-click or mouse-wheel, with shift+double-click to zoom out, and node expansion/collapse by clicking. The visualization dynamically auto-sizes itself both horizontally and vertically to adapt to the number of visible nodes, and is based on the `flare.json` data structure, which lists yearly SAP Inside Track events. The example is a work in progress, building on prior D3.js tree implementations, and is designed for extensibility (e.g., persisting node positions to a remote dataset on drop).

May 20, 2016
Loading thumbnail…

test

This example demonstrates a static SVG visualization using D3.js, where a single rectangle is drawn and positioned within the viewport. The code begins by selecting the SVG element and appending a rectangle with fixed dimensions and a brown fill color at a specific coordinate. It then initializes a D3 nesting operation on the kernel data (loaded from a CSV), grouping entries by the "package" key, but the resulting nested structure is only logged to the console and not rendered. The dataset, provided as a CSV of package components with sizes, appears intended for a hierarchical or treemap layout, but the visualization currently only displays the one static rectangle, leaving the nested data structure unused in the visual output. The example showcases the initial setup of a D3.js visualization using Tributary, with the potential for hierarchical data exploration, though it remains in an early, non-interactive stage.# test ## Description This visualization demonstrates a preliminary exploration of hierarchical data structures using D3.js within the Tributary environment. The example loads a CSV dataset containing file components organized by software packages (SAP kernel files) and uses d3.nest() to group the data by package name. ## Visual Design The visualization is minimal, currently displaying only a single brown rectangle positioned at coordinates (200, 62) with dimensions 100x100 pixels. The SVG canvas contains this solitary visual element, with no axes, labels, or interactive components yet implemented. ## Data and Code The example includes a CSV dataset of file components with their sizes across various packages (ccmagent, vscan_rfc, sapmc, tp, sapnwrfc, sapftp, and dw). The JavaScript code demonstrates how to use d3.nest() to hierarchically structure the data by package, with commented-out code showing an attempted two-level nesting by component. However, the code contains syntax errors (an unclosed comment and a malformed `co` statement) that prevent it from running successfully. The visualization currently draws only a static brown rectangle, with the data processing logic incomplete in the provided code. The example is available in the Tributary gallery under the "test" title, with multiple fork iterations by enjalot (4653053, 4652017, 4582399) building upon the original by CBasis. The visualizations were created using Tributary and use the d3.js library for SVG rendering. The example includes a kernel.csv file with package and component data for what appears to be a collection of SAP software packages.# test ## Overview This visualization demonstrates a d3.js hierarchical data structure using a dataset of SAP software package components. The example shows how to load CSV data and organize it hierarchically using d3.nest(). ## Key Features - **Data**: CSV file containing package/component/size relationships from SAP software archives (e.g., ccmagent_40-10012494.sar, vscan_rfc_44-10012494.sar) - **Primary Visualization**: A simple SVG rectangle (100x100 at coordinates 200, 62) with a warm brown fill (#a4813b) - **Data Processing**: Uses d3.nest() to group the flat CSV data by package name, creating a hierarchical structure in the browser console ## Technical Implementation The example demonstrates how to: - Load and parse hierarchical CSV data using d3.csv() - Use d3.nest() to group entries by package name - Log the resulting nested structure to the console for debugging - Set up a basic SVG drawing area The visualization is minimal and appears to be a test/example for exploring how to structure hierarchical data from a flat CSV file containing file system paths and sizes from SAP software archives. The main visual element is a simple golden rectangle, while the actual data manipulation is happening in the JavaScript console, suggesting this is more of a data-structuring tutorial than a full visualization. Notable context: This was created by CBasis and enjalot as part of the Tributary.io gallery. The thumbnail shows the simple rectangle that appears on screen. The example demonstrates basic d3.nest() data structuring techniques with a CSV dataset.# test ## Visualization Gallery Entry **Source:** Gist via Tributary.io | **Author:** CBasis This example demonstrates hierarchical data structuring with D3.js, using a rectangular visualization to explore file-package relationships. The visualization displays a simple gold rectangle (100x100 at coordinates x=200, y=62) while the accompanying JavaScript uses D3's nest operator to group CSV data by package name. The dataset contains SAP software component inventory, listing packages such as ccmagent, dw_45, sapmc_24, and others with their associated files and sizes. The code initializes a D3 nested structure to organize the hierarchical data, though the visualization itself is minimal—just a single positioned rectangle rendered in the SVG canvas. The example serves as a basic demonstration of setting up a D3 visualization with data processing capabilities, showing the connection between data preparation (nesting) and visual output, even though the visual result is currently understated compared to the data-processing logic.# test ## Description This example demonstrates a simple D3.js visualization that sets up a rectangular shape on an SVG canvas. The visualization includes a single brown rectangle positioned at coordinates (200, 62) with dimensions 100x100 pixels. The code initializes a D3 selection on an SVG element and appends a rectangle with a warm brown fill color (#a4813b). Below this visual element, the example includes data processing code that uses d3.nest() to group CSV data by a "package" field. The dataset contains information about software components (SAP kernel files) including package names, component names, and file sizes. While the nesting logic for hierarchical data organization is prepared and logged to the console, the visualization itself currently renders only the static rectangle, with the data processing commented out or incomplete. This serves as a basic test of the Tributary environment with SVG rendering and d3.js data manipulation.# Test ## Overview This Tributary.io visualization demonstrates a simple SVG rendering setup with D3.js, featuring a single brown rectangle positioned on a canvas. The example includes JavaScript code that begins to explore hierarchical data nesting using D3's nest() function. ## Key Features - **Basic SVG Rendering**: A single 100x100 pixel rectangle is drawn at coordinates (200, 62) with a brown fill (#a4813b) - **Data Structure Preparation**: Includes commented-out code for nesting CSV data by package name, demonstrating how to structure hierarchical data - **Sample Data**: Contains a dataset of SAP software archive (SAR) file components with their sizes in bytes ## Technical Details The visualization uses D3.js to select the SVG element and append a rectangle. The code also sets up data processing for hierarchical visualization using d3.nest() to group the kernel data by package, though this functionality is currently commented out. The included CSV data represents file listings from various SAP software packages with their sizes. This example appears to be a test or template for organizing hierarchical data from a flat CSV structure into a nested format suitable for a treemap or similar hierarchical visualization. The code comments show experimentation with d3.nest() for data restructuring.# Visualization Gallery: Test **Title:** test **Author:** CBasis **Source:** gist (via Tributary.io) **Description:** This is a simple data-visualization example that demonstrates the initial stages of a hierarchical visualization. The code begins by drawing a single brown square on an SVG canvas using D3. It then loads a CSV dataset containing information about SAP software packages and their components, including file sizes. The visualization sets up a d3.nest() operation to group the data by package, laying the groundwork for a hierarchical visualization such as a treemap or partition layout. The dataset represents file structures from various SAP packages, listing components and their sizes. The visualization is at an early stage, with the fundamental rectangle drawn and data nesting prepared but not yet visualized. The thumbnail suggests the final result displays a treemap of package contents, though the code shown focuses on the data preparation and initial rendering steps. The visualization appears designed to explore the hierarchical structure of these software packages and their file sizes.# Test This example demonstrates hierarchical data visualization using D3.js, displaying the file structure of SAP software packages loaded from a CSV dataset. ## Visualization Description The visualization processes package component data organized in a nested hierarchy. A single golden rectangle is drawn as a placeholder at position (200, 62) with dimensions 100x100 pixels, filled with the color #a4813b. The core functionality lies in the data preparation step: the visualization uses D3's nesting operators to transform the flat CSV data into a hierarchical structure. The data consists of SAP software packages (such as ccmagent, vscan_rfc, sapmc, and others) with their associated component files and sizes in bytes. Each entry includes a package name, component name, and file size. The code demonstrates d3.nest() to group the data by package name, creating a hierarchical structure that could be used for a treemap or similar hierarchical visualization. The nested data structure is logged to the console but not yet rendered visually, suggesting this is a work-in-progress example exploring data hierarchy organization. The visualization displays a simple gold rectangle as a placeholder, with the main focus being on data preparation and hierarchical structuring. This example serves as a foundation for building more complex hierarchical visualizations using the nested data format. The visualization is minimal - currently only rendering a basic SVG rectangle while the primary logic focuses on data structuring and console output of the nested hierarchy. It's likely an educational example or early-stage prototype for hierarchical data visualization.# Test This example demonstrates a data transformation workflow using D3's nesting functionality. The visualization reads a CSV file containing SAP software component inventory data and structures it hierarchically by package name. The code creates a nested data format using `d3.nest()`, organizing the file entries by their package attribute. The actual SVG visualization is minimal at this stage, showing only a decorative rectangle, suggesting this is a test or early-stage prototype for hierarchical data exploration rather than a finished visualization. The nested data structure is logged to the console for inspection, laying the groundwork for future hierarchical visualizations. The dataset contains file system metadata from various software packages, including file names and sizes. The example demonstrates how to prepare hierarchical data for potential treemap or partition layout visualizations, though the current implementation focuses on data structuring rather than the final visual output.

Nov 17, 2014
Loading thumbnail…

D3 nest examples

This example demonstrates the versatility of D3's `nest()` operator for hierarchical data aggregation, using a small task-tracking dataset (CSV with fields like id, priority, owner, time, and status). The page presents a series of increasingly complex nesting operations, from simple one-level grouping by status, through two-level nesting by status then priority, to advanced uses of `rollup` for counting leaves and computing sums of numeric fields. Additional examples cover custom sorting by key and value, including a custom priority order. Each example is shown as live JavaScript code with output rendered in a textarea, using d3.v2 and jQuery. The page serves as a tutorial-style gallery, illustrating how d3.nest() can structure and aggregate hierarchical data directly in the browser. The CSV data (e.g., task IDs, priorities, owners, time estimates, and statuses) is processed and displayed alongside the code that generates it.**D3 Nest Examples** This interactive tutorial demonstrates the power and flexibility of D3's nesting operator for hierarchical data aggregation. Using a small task-management dataset with attributes like status, priority, owner, and time estimates, the example walks through progressively complex nest operations—from simple one-level grouping to multi-level nests with custom rollups and sorting. Each of the eight examples is paired with its code and live output in a textarea, making it an effective learning tool for understanding how to transform flat CSV data into rich nested structures for visualization. The page clearly illustrates how d3.nest() can group entries, apply rollups for counts and sums, and implement custom sort orders. A particularly nice touch is the custom priority ordering (MUST, SHOULD, COULD, WISH), which shows how to handle non-alphabetical sort logic—a common real-world requirement. **D3 v2 note:** This example uses D3 v2, so the `d3.nest` API is the original version without the modern `Object.fromEntries` enhancements. The data is a list of hypothetical project tasks and the example lets you cycle through the nested data, including grouping by status, priority and using rollups to count or sum fields. It's a useful tutorial for understanding the basics of D3's nest functionality. Key features: - Step-by-step learning examples - Uses real data - Clean, readable code - Simple, elegant progression of examples Data: The data is an array of objects with attributes id, name, priority, who, time, status. The page is a D3 Nest tutorial with multiple examples that are all shown as textareas with the JSON output of each nest operation. Each example is a different nest operation, e.g. "Simple one level nest", "Simple two level nest", "Use rollup to count leaves", etc. The author walks through a range of different operations, from basic grouping by key, to two level nesting, rollups, and sorting (key sorts and custom sorts). The examples are all run in the same page, and each textarea shows the output from the nest operation. This is not an example of a data visualization, more of a tutorial. The challenge is to create a concise description for the visualization gallery. The description should be: - About 150 words - Be suitable for a gallery of "D3 examples" – no "getting started" instructions - Be informative for the general reader, but not patronizing You may use the HTML from the example to infer anything else useful for the description. Use the template: D3 Nest Tutorial and examples A tutorial showing how to use d3.nest(), from simple grouping through to multi-level grouping with rollups and custom sort orders. Examples are displayed in textareas. TAGS: d3.nest, grouping, rollup, sorting, arrays, data processing [Description] D3 Nest Tutorial and examples This tutorial demonstrates the versatility of `d3.nest()` for grouping and aggregating tabular data. Using a small task dataset, it walks through a progression of examples—from simple one- and two-level nesting, to rollups that count leaves or compute sums, to advanced sorting with custom key orders. Each step is accompanied by runnable code and output, making it a practical introduction to hierarchical data transformation with D3. The examples emphasize how d3.nest can organize data by categories like status and priority, and how rollups enable flexible aggregation for summaries. **Features**: - One-level nesting by a categorical field. - Two-level nesting to form hierarchies. - Rollup functions for counts and sums, including multi-value returns. - Sorting nested keys with built-in or custom comparators. - Sorting leaves by a value (e.g., time). - Grand total rollup without keys. This is a learning-focused example that walks through nest features incrementally.# D3 Nest Examples ## A Practical Introduction to Data Nesting with D3 This interactive tutorial demonstrates how to use D3's `nest()` operator to organize and summarize flat tabular data into hierarchical structures. Using a realistic project task list (with columns for ID, task name, priority, assignee, time estimate, and status), the page presents seven progressively complex examples of nested data operations. Each example builds on the last, starting with simple single-level grouping (by status), then moving through two-level nesting (status + priority), and on to advanced rollups that compute leaf counts and sums (like total time per group). Later examples demonstrate sorting—both alphabetical and custom orderings (e.g., MUST, SHOULD, COULD, WISH)—and finally leaf-level sorting within groups. The visualisation is a tutorial in the form of a live coding example: the data is loaded from a CSV (via d3.csv) and the results of each d3.nest() operation are written into adjacent text areas as formatted JSON, making the structure of the nested output visible at a glance. The page includes the code used for each example alongside the resulting output, so the entire page doubles as a learning resource. The example also demonstrates key D3 concepts: nest, key, rollup, and sortKeys, as well as the use of "entries" to return an array of key-value pairs with nested children. Design/method: The page is designed to be functional and clear rather than highly decorative. Body copy is set in a serif font (Tienne) for legibility. Headings use an HTML h1/h2 hierarchy. The examples are displayed in textareas so that the nested data structure can be examined in raw text format. A small colour palette of blue and grey is used. It’s worth noting the visualizations are minimal, the code examples are didactic, with one idea per example and the visualisation is not the main focus here. The title is self-explanatory and this is an educational tutorial. If we were to update, we would not have to use jquery, and use D3 v4 as it is clearer. We could also put examples in separate blocks for easier navigation. Author interaction: none Code to embed: <iframe src="https://gist.github.com/CBasis/5126197.js" title="D3 nest examples"></iframe> Markdown template: ## [Title](link) A concise description of the visualization: what it shows, why it is interesting, what we can learn from it. ### Select a dataset ### Select an option ### How to use ### Learning objectives ### background / limitations --- ### Full D3.js code ### Data Summary ### Recommended knowledge --> --- Please write the final description, ensuring that the markdown template is not used, and use plain text not code. The final answer should be in Markdown format. Ensure the file is a single, self-contained Markdown block with no other text outside of it. Need to mention framework? No Explicitly mention if interactive: false. If no mention of any kind, then assume interactive: false. Similarly for "Data: [filename]" and "Demo: [link]". Do not include the URL to the original source. Instead, use the gist content from the provided files to understand the visualization. Describe the data. Describe the visual encoding. Describe the main analytical or informational takeaway. Keep descriptions to 100-150 words. Use markdown. No YAML. No styling of the text. Provide the response in markline.# D3 Nest Examples This visualization demonstrates the power and flexibility of D3's `nest()` function for hierarchical data aggregation. Using a dataset of project tasks (with fields including ID, name, priority, assignee, time estimate, and status), the page presents seven progressively complex examples of data grouping and summarization. The examples walk through nesting data by one or more categorical keys (status, priority), counting leaves with `rollup()`, computing sums of numeric fields (like estimated time), and even returning multiple aggregated values as objects. Further examples cover sorting—both simple ascending/descending key sorting and custom sort orders (e.g., MUST > SHOULD > COULD > WISH)—and sorting leaf values by a numeric field. Each example displays its resulting nested JSON in a text area, with the full D3 code shown alongside, making it easy to see how the nesting API maps to output. The page functions as a tutorial, showing how `d3.nest()` can transform flat CSV data into hierarchical structures for flexible data analysis.**Title:** D3 Nest Examples **Description:** This interactive tutorial demonstrates the versatility of D3's `nest()` function through a series of progressively complex examples using a task-tracking dataset. The page showcases seven distinct techniques for grouping and aggregating data, with each example displaying the resulting nested JSON structure in a text area. The examples progress from fundamental to advanced: - **Basic nesting**: one-level grouping by status, then two-level grouping by status and priority - **Rollups**: replacing leaf nodes with counts or aggregated values (sums of time) - **Sorting**: ascending key sorting, custom priority order (MUST > SHOULD > COULD > WISH), and leaf-level sorting by time The dataset is a collection of project tasks with fields including id, name, priority, owner, time estimate, and status. The page serves as a tutorial, showing live code examples alongside their JSON output in textareas, using D3 v2 and jQuery. The visualization demonstrates D3's powerful data nesting capabilities, which are essential for hierarchical data manipulation and aggregation in JavaScript. The examples progress from basic grouping to advanced sorting and rollup operations, making it a valuable educational resource for D3 developers.# D3 Nest Examples ## Source: Gist by CBasis | D3 v2 | Framework: d3 This example demonstrates the power and flexibility of D3's `nest()` operator for hierarchical data transformation. Using a task-tracking dataset with fields like status, priority, assignee, and time estimates, the page presents seven progressively complex examples of data nesting and rollups. **What it shows:** The visualization consists of a clean HTML page with code snippets and output textareas for each example, walking users through nested data transformations. Starting with a simple one-level grouping by status, it advances to two-level nesting by status and priority, then demonstrates rollups to count leaves or calculate sums, and finally explores various sorting strategies—including custom sort orders via `indexOf` and sorting leaf values by time. The examples are presented as textual code and JSON output, making it an educational tool for understanding d3.nest(). **Key elements:** - **Nested group-by** patterns, from single-level grouping to multi-level hierarchies - **Rollup aggregation** with counts, sums, and custom objects - **Custom sort comparators** for domain-specific ordering (e.g., priority levels) - Clear progression from basic to advanced nesting techniques This example serves as a practical tutorial for learning d3.nest() patterns with realistic task-tracking data.# D3 Nest Examples ## A Practical Tutorial for Hierarchical Data Aggregation This visualization gallery example demonstrates the power and flexibility of D3's `nest()` operator for grouping, aggregating, and sorting tabular data. Using a task-tracking dataset, the example walks through progressively complex nesting techniques. ## Key Features The example showcases **seven levels of nesting complexity**, from a simple one-level group-by to advanced multi-level nesting with custom sorting and rollup aggregations. Each step builds on the previous, making it an excellent pedagogical tool. **Core visualizations:** - **One-level nesting** groups tasks by status - **Two-level nesting** groups by status then priority - **Rollup operations** count leaves and sum time values - **Grand total** rollup across all records - **Sorting** with default ascending and custom order using `indexOf` - **Leaf sorting** for fine-grained control The author chose a simple task management dataset with fields like priority (MUST, SHOULD, COULD, WISH), status, and time estimates. The implementation uses D3's powerful `d3.nest()` function to demonstrate hierarchical data transformations, with each example outputting the nested structure to text areas for inspection. This example is particularly instructive for its progression from basic nesting to advanced rollups and sorting, showing how D3's nest can handle real-world data organization tasks. It includes a custom sort order example for priorities and demonstrates how to aggregate numeric values (like time) alongside counts. The combination of simple text output with code samples makes it an excellent learning resource for D3's nested data operations.# D3 Nest Examples **Author:** CBasis | **Source:** gist | **Framework:** D3 v2 --- This visualization demonstrates the power of `d3.nest()` through a series of progressive examples using task-management data. The page displays interactive code samples alongside live textarea outputs, showing how nested data structures evolve from simple one-level groupings to complex multi-level aggregations with custom sorting. ## Key Examples **Basic Nesting** - Single-level grouping by status - Two-level nesting (status then priority) - Real-time output display via textareas **Advanced Features** - **Rollups** for counting leaves and summing numeric fields (e.g., total time) - **Grand total rollup** without keys - **Sorting** by key with d3.ascending, custom sort orders (e.g., priority: MUST > SHOULD > COULD > WISH), and leaf-level sorting by time Each example displays the nested JSON structure in a textarea, making the hierarchical data transformations immediately visible. The page serves as both a tutorial and a reference for d3.nest() patterns, from basic grouping to multi-level nesting with custom aggregations and sorting. As a bonus, I can output the nested JSON from each of the examples.# D3 Nest Examples ## Description This visualization gallery example demonstrates the power and flexibility of D3's `d3.nest()` function for hierarchical data aggregation through seven progressively complex examples using a task management dataset. The page presents a hands-on tutorial where each example builds on the previous one, showing the JSON output of each nesting operation in a text area. The dataset contains 35 task records with fields for ID, name, priority, assignee, time estimate, and status. **Examples include:** - One-level nesting (group by status) - Two-level nesting (status then priority) - Leaf counting with rollup - Multiple aggregations via rollup objects (count + sum of time) - Grand total rollup with no key - Basic sorting with sortKeys - Custom priority ordering (MUST, SHOULD, COULD, WISH) - Sorting leaves by a value (time) Each example builds on the last, introducing nesting concepts incrementally and showing the resulting JSON output in a text area. The progression is pedagogical: from simple grouping, to multi-level hierarchies, to aggregation, and finally to custom sorting. This is a practical reference for understanding how d3.nest() transforms flat CSV data into nested structures. **d3.nest()** is a powerful tool for manipulating data into a hierarchical JSON format based on one or more keys, enabling efficient data aggregation and organisation. Key aspects: - Used d3.v2 (older version) - Applies nested group-by operations similar to SQL GROUP BY or pivot tables - Includes sorting at each level of nesting - Supports rollup functions for aggregation - Demonstrates grouping, counting, summing and custom ordering Data The visualisation uses task management data with fields: id, name, priority, who, time, status. The data has 34 tasks. Use this to decide how best to display the data. Format your response as follows: Title: A descriptive title of the example 50-150 word description of the example The 3 most interesting things about this example - visual - code - code Additional context or links (if applicable)Title: D3 Nest Examples: Interactive Data Grouping and Aggregation This example demonstrates the power of D3's nest function for grouping, ordering, and aggregating tabular data. Using a dataset of project tasks with fields like priority, status, assignee, and time, the page progressively walks through eight examples—from a simple one-level grouping by status to more advanced operations: two-level nests, rollups for counts and sums, and custom sorting with priority order. Each example outputs the nested structure into a textarea, making it easy to compare how the nesting key, sort order, and rollup function change the resulting hierarchy. The page serves as both a tutorial and a live playground for understanding data nesting in D3. Design features: The page uses a clean, technical layout with code snippets and the resulting nested data structures displayed in textareas. The examples are ordered pedagogically, building from basic grouping to advanced rollups with sorting. The textarea elements allow users to inspect the JSON output of each nest operation. The design uses a simple serif font for code and minimal styling, reflecting its focus as a learning resource rather than a polished visualization. Data was loaded from a csv with columns id, name, priority, who, time, status. The d3.nest() operator is used to reorganize data into a hierarchical structure according to key functions. Data types: The data is string and numeric (e.g. time is numeric). D3's nest was likely more widely used with d3 v2, and these examples were generated before the d3 v4 changes to nest. This is a good reference for simple nested data operations. It does not include a chart - the focus is on the data manipulation operations with output shown as text in textareas, which can be used as a learning tool and reference. </p> </body> </html> Question: From the given code, which of the following statements about the 'status' field are true? Select all that apply. A. It contains the following values: Complete, In Progress, Not Started. B. When using d3.nest() to group by status, the order of the groups is always alphabetical. C. It is used as a key in the nesting examples to group tasks by their current status. D. The values are always complete tasks. E. Its values can be sorted in ascending order, but a custom order could be created. Answer with JSON: {"A": true, "B": false, "C": true, "D": false, "E": true}{ "A": true, "B": false, "C": true, "D": false, "E": true }

Jan 31, 2013