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:
- Show zone structure โ Display aggregate patterns for each frequency zone
- Highlight representatives โ Emphasize specific keywords as examples
- Create clear narratives โ Tell a story through selected exemplar terms
- Combine overview and detail โ Balance big picture with specific cases
- Improve readability โ Reduce clutter while maintaining informativeness
- Support presentations โ Create clear, focused visualizations for talks
- Guide interpretation โ Direct attention to key terms within zones
- 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
<- importData("tdm.csv", "corpus_info.csv")
corpus <- normalization(corpus, normty = "nc")
corpus_norm
# 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
- Choose meaningful examples โ Select keywords that resonate with your audience
- Tell a story โ Pick keywords that illustrate your main argument
- Check zone membership โ Verify keywords are in different zones
- Test readability โ Ensure highlighted keywords stand out
- Match theme to context โ Light for papers, dark for presentations
- Use consistent examples โ Keep same keywords across related plots
- Document selection โ Explain why you chose specific keywords
- Validate patterns โ Ensure examples are representative of their zones
- Save high resolution โ Use dpi = 300+ for publications
- Combine with other plots โ Use alongside
rowMassPlot()
andcolMassPlot()
๐ See Also
curvePlot()
โ Plot all keyword trajectories without zone emphasisfacetPlot()
โ Create faceted visualizations by zonerowMassPlot()
โ Visualize keyword frequency distributioncolMassPlot()
โ Visualize temporal corpus structurenormalization()
โ Normalize frequencies before plotting