Mathias Schneider14 downloadsRank, sort, and compare your notes across multiple properties using visual tables, charts, and custom weights. Build upon LineUp.js.
Interactive multi-attribute ranking and visualization view for Obsidian Bases. Powered by LineUp.js. Adapted to Obsidian such that it works interactively and adapts to the installed theme.
type: lineup) as a native view..base view configurations.Install the plugin via the official Obsidian Community Plugin Store: [LineUp for Bases]. Alternatively, install via BRAT.
main.js, manifest.json, and styles.css from the latest GitHub Release..obsidian/plugins/ and create a folder named obsidian-lineup..obsidian/plugins/obsidian-lineup/.LineUp for Obsidian adds a dedicated view type for Bases. Simply switch the view to "LineUp" in the view dropdown of your Base, as described in the official Obsidian Bases documentation.
It operates as a rich visual layer on top of your .base data, inheriting base-level filters while allowing independent interactive filtering, grouping, and multi-attribute sorting.
.base file.![[base.base#LineUp-View]]), LineUp views can be embedded anywhere in your notes as interactive, read-only exploration views.| Feature | Standard Table / Dataview | LineUp |
|---|---|---|
| Sorting | Single-column sort (or static secondary sort) | Hierarchical & multi-attribute weighted sorting |
| Numeric Comparison | Plain text digits | Bar lengths, distributions, and min/max domain scaling |
| Combined Scores | Requires manual formulas (rating * 0.7 + pages * 0.3) |
Interactive drag & drop weighted columns with live recalculation |
| Categorical Data | Static tags or text | Color-coded stacked distributions with multi-select filter histograms |
| Filtering | Static query code (WHERE ...) |
Live histogram range-sliders & visual checkboxes directly in headers |
| Grouping & Summary | Nested list/table sections | Hierarchical row grouping with box plots & aggregate distribution bars |
| Side-Panel | None | Collapsible side-panel (»/«) to inspect distributions and create composite rankings |
| Layout Persistence | Manual query configuration | Automatic view state serialization to .base view configuration |
| Data Safety | Read/write risk depending on plugins | 100% Live Read-only |
.base data engine.formula.stars), tags (file.hasTag("book")), and frontmatter properties..base view metadata.file.name) in your active workspace leaf.NullValue so missing properties don't corrupt numeric columns or ranking computations.min-height: 480px)..base file view are fully persistent.tags: [book, scifi]) are unwrapped as strings by Bases; for discrete categorical filtering in LineUp, dedicated single-value scalar properties (like genre, status, format) provide the best visual experience.Assume we have a Bases table called Books with the following columns:
titleratingpagesauthorgenrestatusformat») or click the column addition menu (+).Rating (1-5) (e.g., 60% weight) and Pages (inverted or 40% weight) into it.Genre column header, click the filter icon, and check only Science-Fiction (or Science).Status, filter by Wishlist.Pages column header to sort descending.Format column (Paperback, Hardbound, Hardcover, E-Book).Format column header to group rows by format.Progress (%), Pages, Price) per group into visual box plots and aggregate bars.This plugin is built on the LineUp.js library by the Caleydo team.
If you use LineUp for research, please cite:
LineUp: Visual Analysis of Multi-Attribute Rankings (Paper | Website)
Samuel Gratzl, Alexander Lex, Nils Gehlenborg, Hanspeter Pfister, and Marc Streit.
IEEE Transactions on Visualization and Computer Graphics (InfoVis '13), 19(12), pp. 2277–2286, doi:10.1109/TVCG.2013.173, 2013.
(IEEE VIS InfoVis 2013 Best Paper Award)
Taggle: Scalable Visualization of Tabular Data through Aggregation (Paper Preprint | Website)
Katarina Furmanova, Samuel Gratzl, Holger Stitz, Thomas Zichner, Miroslava Jaresova, Martin Ennemoser, Alexander Lex, and Marc Streit.
Information Visualization, 19(2): 114–136, doi:10.1177/1473871619878085, 2019.