Alt text
  • cccc R Package
  • Functions
  • Download
  • Use Cases
  • Projects
  • References
  • About Us

On this page

  • ๐Ÿ”น Function Definition
  • ๐ŸŽฏ Purpose
  • ๐Ÿงฎ Understanding CTU (Characteristic Terms by Usage)
  • โš™๏ธ Arguments
  • ๐Ÿ“Š Plot Components
    • Visual Structure
    • Dual Legend System
  • ๐Ÿ’ก Usage Examples
    • Basic Usage with Selected Keywords
    • Automatic Keyword Selection
    • Long Time Series
    • Dark Theme for Presentations
  • ๐ŸŽฏ Selecting Good Example Keywords
    • Criteria for CTU Selection
  • ๐Ÿ” Interpreting the Plot
    • Understanding Zone Curves
    • Understanding Highlighted Keywords
  • ๐Ÿ“ˆ Use Cases
    • 1. Conference Presentations
    • 2. Publication Figures
    • 3. Teaching/Demonstrations
    • 4. Methodology Validation
    • 5. Narrative Building
    • 6. Comparative Analysis
    • 7. Hypothesis Illustration
  • ๐Ÿ’ก Tips & Best Practices
  • ๐Ÿ“š See Also

curveCtuPlot()

Plot Temporal Curves with Highlighted Example Keywords by Zone

The curveCtuPlot() function creates a temporal visualization that combines zone-based frequency curves with highlighted example keywords. This allows you to show both the overall zone structure and specific representative terms simultaneously, making it ideal for presentations and publications.


๐Ÿ”น Function Definition

curveCtuPlot(
  data,
  ctu_noun = NULL,
  r = 1,
  themety = "light",
  size_class = NULL,
  x_lab = "years"
)

๐ŸŽฏ Purpose

While curvePlot() shows all keywords together, curveCtuPlot() provides a more structured visualization by combining zone-level patterns with specific example keywords. This function helps you:

  1. Show zone structure โ€” Display aggregate patterns for each frequency zone
  2. Highlight representatives โ€” Emphasize specific keywords as examples
  3. Create clear narratives โ€” Tell a story through selected exemplar terms
  4. Combine overview and detail โ€” Balance big picture with specific cases
  5. Improve readability โ€” Reduce clutter while maintaining informativeness
  6. Support presentations โ€” Create clear, focused visualizations for talks
  7. Guide interpretation โ€” Direct attention to key terms within zones
  8. Demonstrate methodology โ€” Show how zone classification works with concrete examples

This function is particularly useful when you want to demonstrate temporal patterns without overwhelming your audience with hundreds of trajectories.


๐Ÿงฎ Understanding CTU (Characteristic Terms by Usage)

CTU refers to selecting representative keywords from different frequency zones: - High-frequency zone: Core vocabulary terms - Medium-frequency zone: Specialized but common terms
- Low-frequency zone: Rare or emerging terms

By highlighting one keyword from each zone, you show the spectrum of vocabulary in your corpus.


โš™๏ธ Arguments

Argument Type Default Description
data List required A list object returned by importData() or normalization(), containing the TDM and corpus metadata.
ctu_noun Character vector NULL Vector of exactly 3 keywords to highlight, one from each frequency zone (typically high, medium, low). Order doesnโ€™t matter; function assigns them to zones automatically. If NULL, function may auto-select representative terms.
r Integer 1 Interval for x-axis label thinning. r = 1 shows all years, r = 2 shows every 2nd year, etc.
themety Character "light" Visual theme:
โ€ข "light": Light background (default)
โ€ข "dark": Dark background (presentations)
size_class Numeric vector NULL Custom line thickness for the three main zones (typically high, medium, low). If NULL, uses theme-appropriate defaults. Vector length should match number of main zones.
x_lab Character "years" Label for x-axis (e.g., "Years", "Time Period", "Publication Year").

๐Ÿ“Š Plot Components

Visual Structure

The plot contains two layers:

Layer 1: Zone Curves (Background)

  • Lines representing aggregated trajectories for each frequency zone
  • Colors indicate zones (using corpus color palette)
  • Line thickness varies by zone importance
  • Shows overall zone behavior

Layer 2: Example Keywords (Foreground)

  • 3 highlighted keywords from different zones
  • Distinct colors separate from zone colors
  • Emphasized line thickness for visibility
  • Labels in legend identify specific terms

Dual Legend System

Zone Legend: - Shows frequency zones with interval ranges - Example: โ€œZone 4 [500-1000]โ€, โ€œZone 2 [50-100]โ€

Keyword Legend: - Shows the 3 highlighted example keywords - Example: โ€œalgorithmโ€, โ€œpreprocessingโ€, โ€œnoiseโ€


๐Ÿ’ก Usage Examples

Basic Usage with Selected Keywords

library(cccc)

# Import and normalize data
corpus <- importData("tdm.csv", "corpus_info.csv")
corpus_norm <- normalization(corpus, normty = "nc")

# Plot with 3 representative keywords from different zones
curveCtuPlot(
  corpus_norm,
  ctu_noun = c("algorithm", "preprocessing", "noise")
)

Automatic Keyword Selection

# Let function auto-select representative keywords
curveCtuPlot(corpus_norm)

Long Time Series

# Show every 5th year on x-axis
curveCtuPlot(
  corpus_norm,
  ctu_noun = c("data", "network", "cloud"),
  r = 5
)

Dark Theme for Presentations

# Use dark theme
curveCtuPlot(
  corpus_norm,
  ctu_noun = c("machine", "learning", "neural"),
  themety = "dark"
)

๐ŸŽฏ Selecting Good Example Keywords

Criteria for CTU Selection

1. Zone Distribution - Choose one keyword from high-frequency zone - Choose one from medium-frequency zone - Choose one from low-frequency zone

2. Clear Trajectories - Select keywords with distinct, interpretable patterns - Avoid keywords with flat or noisy trajectories - Choose terms that tell a story

3. Relevance - Select keywords meaningful to your research question - Choose terms your audience will recognize - Pick examples that illustrate interesting phenomena

4. Representativeness - Keywords should be typical of their zone - Avoid extreme outliers within zones - Select terms that generalize well


๐Ÿ” Interpreting the Plot

Understanding Zone Curves

High-frequency zone (typically darkest): - Shows behavior of core vocabulary - Usually more stable trajectories - Changes indicate major conceptual shifts

Medium-frequency zone: - Shows specialized vocabulary - May show more dynamic patterns - Often contains emerging important terms

Low-frequency zone (typically lightest): - Shows rare or specialized terms - More volatile, less stable - May contain emerging or declining concepts

Understanding Highlighted Keywords

The 3 highlighted keywords provide concrete examples of the abstract zone patterns:

  • High-freq example: Demonstrates core vocabulary evolution
  • Medium-freq example: Shows specialized term dynamics
  • Low-freq example: Illustrates niche or emerging concepts

Look for: - Do example keywords follow their zoneโ€™s pattern? - Are there divergences that tell a story? - Do trajectories align with domain knowledge?


๐Ÿ“ˆ Use Cases

1. Conference Presentations

Create clear, focused visualizations showing zone structure with examples.

2. Publication Figures

Generate figures demonstrating temporal patterns across frequency strata.

3. Teaching/Demonstrations

Show students or colleagues how frequency zones behave differently.

4. Methodology Validation

Demonstrate that zone classification captures meaningful distinctions.

5. Narrative Building

Tell a story through carefully selected representative keywords.

6. Comparative Analysis

Compare zone patterns across different corpora or time periods.

7. Hypothesis Illustration

Show specific keywords that exemplify theoretical predictions.


๐Ÿ’ก Tips & Best Practices

  1. Choose meaningful examples โ€” Select keywords that resonate with your audience
  2. Tell a story โ€” Pick keywords that illustrate your main argument
  3. Check zone membership โ€” Verify keywords are in different zones
  4. Test readability โ€” Ensure highlighted keywords stand out
  5. Match theme to context โ€” Light for papers, dark for presentations
  6. Use consistent examples โ€” Keep same keywords across related plots
  7. Document selection โ€” Explain why you chose specific keywords
  8. Validate patterns โ€” Ensure examples are representative of their zones
  9. Save high resolution โ€” Use dpi = 300+ for publications
  10. Combine with other plots โ€” Use alongside rowMassPlot() and colMassPlot()

๐Ÿ“š See Also

  • curvePlot() โ€” Plot all keyword trajectories without zone emphasis
  • facetPlot() โ€” Create faceted visualizations by zone
  • rowMassPlot() โ€” Visualize keyword frequency distribution
  • colMassPlot() โ€” Visualize temporal corpus structure
  • normalization() โ€” Normalize frequencies before plotting
 

ยฉ 2025 The cccc Team | Developed within the RIND Project