Tobacco Industry System Components
About This Visualization
This interactive network diagram illustrates the tobacco industry as a complex system, showing how various stakeholders are interconnected through money flows, influence, products, and regulatory relationships.
Learning Objectives
By interacting with this visualization, students will:
- Identify system components: Recognize the four main categories of stakeholders (Industry, Government, Health, Society)
- Map interconnections: Understand how different types of relationships connect stakeholders
- Recognize problematic dynamics: Identify connections that create conflicts of interest or information asymmetries
- Apply systems thinking: See how interventions at one point can ripple through the entire system
Node Categories
| Category | Color | Components |
|---|---|---|
| Industry | Red | Tobacco companies, Advertising agencies, Retail outlets, Tobacco farmers |
| Government | Blue | Regulatory agencies, Tax authorities, Public health departments, Legislators |
| Health | Green | Healthcare systems, Insurance companies, Medical researchers, Treatment providers |
| Society | Yellow | Consumers/smokers, Youth, Advocacy groups, Media |
Connection Types
| Line Style | Type | Description |
|---|---|---|
| Solid | Money flows | Financial transactions between stakeholders |
| Dashed | Information/influence | Communication, marketing, advocacy, evidence |
| Dotted | Products/materials | Physical goods moving through the system |
| Bold | Regulatory | Laws, regulations, and enforcement actions |
Key System Dynamics
Three critical dynamics are highlighted in this system:
- Regulatory Capture: Industry lobbying can lead regulators to serve industry interests rather than public health
- Information Asymmetry: The industry has more information about product harms than consumers
- Externalized Costs: Healthcare costs of smoking are borne by consumers and society, not the industry
How to Use
- Hover over any node to see its description
- Click a node to highlight all its connections
- Use the filter dropdown to show only specific connection types
- Select "Problematic Only" to see connections that create conflicts of interest
- Click Reset to restore the full view
Educational Context
Bloom's Taxonomy Level
Understand (L2): Students will comprehend how to identify system components and map their interconnections.
Related Concepts
Discussion Questions
- Which connections do you think are most problematic for public health? Why?
- If you could remove or weaken one connection in this system, which would have the greatest positive impact?
- What feedback loops can you identify in this system? Are they reinforcing or balancing?
- How might adding a new stakeholder (e.g., e-cigarette companies) change the system dynamics?
Technical Notes
- Built with vis-network.js
- Responsive design optimized for narrow iframes
- Navigation buttons enabled for zoom control
- Data stored in separate
data.jsonfor easy editing
File Structure
1 2 3 4 5 6 7 | |
Editor Mode
To reposition nodes and save the layout:
- Click the Edit button below the diagram or append
?enable-save=trueto the URL - Drag nodes to reposition them on the canvas
- Mouse wheel to zoom in/out
- Drag canvas to pan the view
- Click Save Positions to download the updated
data.json - Replace the existing
data.jsonfile in the project with the downloaded version
Customization Guide
Modifying Node Positions
Node positions are stored in data.json under the nodes array. Each node has x and y coordinates:
1 2 3 4 5 6 7 8 9 | |
Two ways to modify positions:
- Visual Editor (recommended): Use Editor Mode to drag nodes, then save
- Manual Edit: Directly edit
xandyvalues indata.json
Setting Initial View (Zoom and Pan)
The initial view position is controlled in tobacco-system.js in the positionView() function:
1 2 3 4 5 6 7 8 9 | |
Parameters:
| Parameter | Effect |
|---|---|
position.x |
Increase to move view left (shows more right side) |
position.y |
Increase to move view up (shows more bottom) |
scale |
1.0 = default, < 1.0 = zoomed out, > 1.0 = zoomed in |
Adding New Nodes
Add a new node object to the nodes array in data.json:
1 2 3 4 5 6 7 8 9 | |
Categories: industry (red), government (blue), health (green), society (yellow)
Adding New Edges
Add a new edge object to the edges array in data.json:
1 2 3 4 5 6 7 8 | |
Edge types: money, information, influence, products, regulatory
Saving Your Changes
After downloading data.json from Editor Mode:
- Locate the downloaded file (usually in your Downloads folder)
- Copy it to replace
docs/sims/tobacco-system/data.jsonin the project - Refresh the page to see your changes
- Commit to git if satisfied with the layout
Embedding
1 2 3 4 5 6 7 | |