← Back to home
Comparison · Analytics

pins vs scales

A side-by-side editorial comparison of pins and scales — release velocity, themes, recent moves, and the top alternatives to consider.

pins vs scales: at a glance

Featurepinsscales
SectorAnalyticsAnalytics
Velocity score0.00.0
Sparks · 30d00
Top themesdata-versioning, cloud-storage, databricks, serializationr, ggplot2, data-visualization, axis-labels
Last editorial update50m ago2h ago
WebsiteVisit →Visit →

What is pins?

pins keeps adding a storage backend per release while retiring its original API

pins publishes and versions R objects to a board, where a board is whatever storage you have. The recent releases read as a steady list of new boards - Google Cloud Storage, Google Drive, Databricks Volumes, Connect vanity URLs - alongside serialization changes that track which formats R users actually want: parquet via nanoparquet, and qs replaced by qs2.

Read the full pins trajectory →

What is scales?

scales keeps widening what ggplot2 can put on an axis.

scales supplies the breaks, labels and transformations behind ggplot2's axes and legends. Unlike much of the tidyverse infrastructure around it, it still ships genuine feature work each release: native timespan handling in 1.3.0, then custom range-training classes and label_glue() in 1.4.0.

Read the full scales trajectory →

pins vs scales: editorial side-by-side

P
pins
ANALYTICS
0.0

pins keeps adding a storage backend per release while retiring its original API

◆ Current state

pins publishes and versions R objects to a board, where a board is whatever storage you have. The recent releases read as a steady list of new boards - Google Cloud Storage, Google Drive, Databricks Volumes, Connect vanity URLs - alongside serialization changes that track which formats R users actually want: parquet via nanoparquet, and qs replaced by qs2.

◆ Where it's heading

Two long-running processes, neither dramatic. Backend coverage expands toward wherever teams already store artifacts, which increasingly means Databricks and cloud object storage rather than a shared drive. Meanwhile the legacy pin() API from before the board model has been in a staged deprecation across at least three releases, escalated each time rather than removed.

◆ Prediction

Expect another board or two as storage platforms are requested, and the legacy pin() functions to finally become errors; the format list will keep tracking whichever serializer the R community settles on.

S
scales
ANALYTICS
0.0

scales keeps widening what ggplot2 can put on an axis.

◆ Current state

scales supplies the breaks, labels and transformations behind ggplot2's axes and legends. Unlike much of the tidyverse infrastructure around it, it still ships genuine feature work each release: native timespan handling in 1.3.0, then custom range-training classes and label_glue() in 1.4.0.

◆ Where it's heading

The arc runs toward extensibility and type coverage. First came built-in support for awkward types like difftime and hms; 1.4.0 inverts that by letting any third-party class participate in range training simply by implementing range() or levels(). Labelling is getting more expressive rather than merely more numerous.

◆ Prediction

Expect continued type-support and labelling work, with extension points that let downstream packages plug in their own classes instead of scales enumerating every one.

Alternatives to pins and scales

Other Analytics products tracked by Sparkpulse, ranked by recent ship velocity. Each card links to a full editorial trajectory and lets you pivot into a head-to-head comparison with either pins or scales.

See all pins alternatives → · See all scales alternatives →

Recent activity from pins and scales

Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.

  1. 5mo agopinsqs2 replaces qs; pins can be written in multiple formats
  2. 1y agopinsPin previews on Connect; Databricks host normalization
  3. 1y agoscalesscales 1.4.0 opens range training to custom classes
  4. 1y agopinsAdds board_databricks() and switches parquet to nanoparquet
  5. 2y agoscalesscales 1.3.0 makes timespans first-class on axes
  6. 2y agopinspin_write() arguments must be named; Connect caches removed
  7. 2y agopinsMessage clarity and Google Drive dribble handling
  8. 2y agopinsboard_gdrive() added; cache location configurable
  9. 3y agoscalesscales 1.2.1 re-documents to fix .Rd HTML issues
  10. 4y agoscalesscales 1.2.0 fixes currency sign order and adds scale_cut
  11. 6y agoscalesscales 1.1.1 fixes palette inversion and adds oob_keep()
  12. 6y agoscalesscales 1.1.0 reorganises breaks and labels into a naming scheme

Frequently asked questions

What is the difference between pins and scales?

They serve adjacent needs but don't currently overlap on shipped themes. pins and scales are shipping at a similar cadence (velocity 0.0 vs 0.0, both within Sparkpulse's "active" band). See the at-a-glance table above for a side-by-side breakdown of velocity, recent sparks, and editorial themes.

Is pins better than scales?

Sparkpulse doesn't pick a winner — we score release velocity, not feature parity. pins and scales are shipping at a similar cadence (velocity 0.0 vs 0.0, both within Sparkpulse's "active" band). For your specific use case, the alternatives sections above list other Analytics products to evaluate alongside.

What are the best alternatives to pins?

Top pins alternatives in Analytics are ranked by recent ship velocity. Browse the "pins alternatives" section above for the current picks, or visit /alternatives/pins-r for the full list with editorial commentary on each.

What are the best alternatives to scales?

Top scales alternatives in Analytics are ranked by recent ship velocity. Browse the "scales alternatives" section above for the current picks, or visit /alternatives/scales-r for the full list with editorial commentary on each.