Skip to content

Cell mark

TIP

The cell mark is a variant of the rect mark for use when both dimensions are ordinal. See also the bar mark.

The cell mark draws rectangles positioned in two ordinal dimensions. Hence, the plot’s x and y scales are band scales. Cells typically also have a fill color encoding.

For example, the heatmap below shows the decline of The Simpsons after Season 9: high IMDb ratings are dark green, while low ratings are dark pink. (The worst episode ever — cue Comic Book Guy — is season 23’s “Lisa Goes Gaga”.)

12345678910111213141516171819202122232425Episode12345678910111213141516171819202122232425262728Season7.4Homer's Night Out8.3Krusty Gets Busted8.2Bart Gets an "F"8.1Two Cars in Every Garage and Three Eyes on Every Fish8.0Dead Putting Society8.4Bart the Daredevil7.8Bart Gets Hit by a Car8.0Homer vs. Lisa and the 8th Commandment8.2Oh Brother, Where Art Thou?7.6Old Money8.5Lisa's Substitute8.0Blood Feud7.7Mr. Lisa Goes to Washington8.7Bart the Murderer7.7Like Father, Like Clown7.9Saturdays of Thunder8.2Burns Verkaufen der Kraftwerk8.5Radio Bart8.3Bart the Lover8.2Separate Vocations7.9Colonel Homer7.8Bart's Friend Falls in Love8.4Kamp Krusty8.2Itchy & Scratchy: The Movie8.5Lisa's First Word8.0Selma's Choice7.9The Call of the Simpsons8.8One Fish, Two Fish, Blowfish, Blue Fish7.7Marge in Chains8.4Homer's Barbershop Quartet8.6Homer Goes to College8.0Marge on the Lam8.7Boy-Scoutz 'n the Hood8.2Homer the Vigilante8.1Bart Gets Famous8.2Lisa vs. Malibu Stacy7.9Bart Gets an Elephant7.5Lady Bouvier's Lover8.6Bart of Darkness8.5Itchy & Scratchy Land8.4Lisa on Ice7.8Fear of Flying8.5And Maggie Makes Three8.5Homie the Clown7.9Homer vs. Patty and Selma8.1Two Dozen and One Greyhounds8.3'Round Springfield8.6Lemon of Troy8.3Radioactive Man8.7Bart Sells His Soul8.5Treehouse of Horror VI8.3Marge Be Not Proud8.3Team Homer7.7Bart the Fink8.2New Kid on the Block8.822 Short Films About Springfield8.0Much Apu About Nothing8.3Summer of 4 Ft. 27.7Burns, Baby Burns7.8Lisa's Date with Density9.0The Springfield Files7.8The Twisted World of Marge Simpson7.9The Itchy & Scratchy & Poochie Show8.9Homer's Phobia8.7Homer vs. the Eighteenth Amendment7.7The Canine Mutiny8.0In Marge We Trust7.8The Secret War of Lisa Simpson7.4The Principal and the Pauper7.7Bart Star8.0Lisa the Skeptic5.1All Singing, All Dancing8.2The Joy of Sect7.8This Little Wiggy7.9The Trouble with Trillions8.5Trash of the Titans8.1Natural Born Kissers8.2The Wizard of Evergreen Terrace8.0Treehouse of Horror IX8.2Mayored to the Mob7.7Wild Barts Can't Be Broken7.5Make Room for Lisa7.6Mom and Pop Art7.2Monty Can't Buy Me Love7.9Thirty Minutes over Tokyo7.5Guess Who's Coming to Criticize Dinner?7.6E-I-E-I-(Annoyed Grunt)7.1Eight Misbehavin'7.3The Mansion Family7.9Alone Again, Natura-diddily7.3Pygmoelian6.6Kill the Alligator and Run7.3It's a Mad, Mad, Mad, Mad Marge7.6Treehouse of Horror XI7.1Insane Clown Poppy7.7The Computer Wore Menace Shoes7.3Pokey Mom7.2Day of the Jackanapes7.4Hungry, Hungry Homer6.9Simpson Safari7.3Children of a Lesser Clod7.5Treehouse of Horror XII7.2Homer the Moe7.7The Blunder Years7.5Half-Decent Proposal6.5The Lastest Gun in the West7.0Blame It on Lisa5.6Gump Roast8.7Homer's Triple Bypass7.0Bart vs. Lisa vs. the Third Grade7.3The Great Louse Detective7.3The Dad Who Knew Too Little6.8Pray Anything7.3C.E.D'oh7.2Three Gays of the Condo6.9Brake My Wife, Please7.7Moe Baby Blues7.3My Mother the Carjacker7.2The Fat and the Furriest7.2'Tis the Fifteenth Season7.3I, (Annoyed Grunt)-bot7.1Smart & Smarter6.9Co-Dependents' Day7.0Catch 'Em If You Can7.3The Way We Weren't7.2Fraudcast News7.1Sleeping with the Enemy7.1Fat Man and Little Boy7.0Mommie Beerest7.1There's Something About Marrying7.0Goo Goo Gai Pan6.9The Seven-Beer Snitch7.2The Heartbroke Kid7.3Thank God It's Doomsday6.3The Bonfire of the Manatees8.3Duffless6.7The Last of the Red Hat Mamas6.9Simpsons Christmas Stories6.4My Fair Laddy7.0Bart Has Two Mommies6.6Million-Dollar Abie6.7Regarding Margie7.5The Mook, the Chef, the Wife and Her Homer6.8Please Homer, Don't Hammer 'Em6.9G.I. (Annoyed Grunt)7.0Ice Cream of Margie (with the Light Blue Hair)6.4Kill Gil, Volumes I & II7.0Little Big Girl7.1Yokel Chords7.2Homerazzi7.1Crook and Ladder8.124 Minutes6.7The Homer of Seville6.7Little Orphan Millie7.1Funeral for a Fiend6.9E Pluribus Wiggum7.7The Debarted6.7Smoke on the Daughter6.9Apocalypse Cow7.1Mona Leaves-a6.9Lost Verizon7.1Treehouse of Horror XIX7.2So It's Come to This: A Simpsons Clip Show7.2Gone Maggie Gone7.0Father Knows Worst6.3Four Great Women and a Manicure7.1Homer the Whopper6.8Rednecks and Broomsticks6.8Thursdays with Abie7.1Million Dollar Maybe7.1Postcards from the Wedge5.7The Greatest Story Ever D'ohed6.9Moe Letter Blues6.6Judge Me Tender6.8Loan-a Lisa7.2Lisa Simpson, This Isn't Your Life6.9The Fight Before Christmas7.0Donnie Fatso7.0Homer the Father7.2Angry Dad: The Movie6.1A Midsummer's Nice Dream7.0The Great Simpsina7.3500 Keys7.2The Falcon and the D'ohman6.6Treehouse of Horror XXII7.2The Food Wife6.2The Ten-Per-Cent Solution6.1Politically Inept, with Homer Simpson5.7Moe Goes from Rags to Riches6.7Pranks and Greens8.5$pringfield (or, How I Learned to Stop Worrying and Love Legalized Gambling)7.1Beware My Cheating Bart6.9The Spy Who Learned Me4.5Lisa Goes Gaga6.3Penny-Wiseguys7.2To Cur with Love7.0A Test Before Trying6.5Love is a Many-Splintered Thing6.2Gorgeous Grampa6.5What Animated Women Want6.8Whiskey Business7.0Homerland6.7YOLO6.5The Kid Is All Right6.5White Christmas Blues7.2Specs and the City6.7The Man Who Grew Too Much7.0The War of Art6.5Luca$7.7Brick Like Me6.7The Yellow Badge of Cowardge6.9The Wreck of the Relationship6.3Opposites A-Frack6.9Blazed and Confused6.8The Man Who Came to Be Dinner5.8The Musk Who Fell to Earth6.7Peeping Mom7.5Life on the Fast Lane7.8The Crepes of Wrath7.9Some Enchanted Evening8.3Simpson and Delilah8.2Treehouse of Horror7.5Dancin' Homer7.7Bart vs. Thanksgiving8.1Itchy & Scratchy & Marge8.2The Way We Was7.5Principal Charming7.5Bart's Dog Gets an "F"7.9The War of the Simpsons6.8Bull-E6.7Cue Detective6.8Friend with Benefit8.4Barthood6.8Teenage Mutant Milk-Caused Hurdles6.6Gal of Constant Sorrow7.3The Marge-ian Chronicles7.1Fland Canyon6.4Simprovised8.2Simpsons Roasting on an Open Fire7.8Bart the Genius7.8There's No Disgrace Like Home7.6Moaning Lisa7.7The Telltale Head8.4Three Men and a Comic Book8.6Stark Raving Dad8.2When Flanders Failed8.5Homer Defined8.1The Front8.1Brother from the Same Planet8.7Treehouse of Horror IV9.0Marge vs. the Monorail8.3I Love Lisa8.4The Last Temptation of Homer7.7Dog of Death8.2Treehouse of Horror II7.9Lisa's Pony7.8Marge Gets a Job8.2I Married Marge9.0Last Exit to Springfield8.0Lisa the Greek7.7The Otto Show8.9Rosebud8.0Homer Alone8.6Homer at the Bat8.1Whacking Day7.8Lisa the Beauty Queen8.2Krusty Gets Kancelled8.2Black Widower8.1A Streetcar Named Marge8.4Treehouse of Horror III8.8Mr. Plow8.3Homer and Apu8.5Homer Loves Flanders8.4Burns' Heir8.0Sideshow Bob's Last Gleaming8.0Grampa vs. Sexual Inadequacy8.2A Fish Called Selma8.6Bart's Comet8.3Home Sweet Homediddly-Dum-Doodily7.7Scenes from the Class Struggle in Springfield8.5Bart vs. Australia9.0King-Size Homer8.0Secrets of a Successful Marriage8.1Lisa's Rival8.5A Star Is Burns8.3Lisa's Wedding6.0Another Simpsons Clip Show8.5Lisa the Vegetarian8.1The PTA Disbands8.3Sideshow Bob Roberts8.0Bart's Girlfriend8.9Who Shot Mr. Burns? (Part Two)8.2The Springfield Connection8.9Homer the Smithers9.0Homer Badman8.9Homer the Great7.5The Simpsons 138th Episode Spectacular8.7Two Bad Neighbors8.1Lisa the Iconoclast8.5Mother Simpson8.3Raging Abe Simpson and His Grumbling Grandson in "The Curse of the Flying Hellfish"8.0Homerpalooza8.1Lisa's Sax7.7Simpsoncalifragilisticexpiala(Annoyed Grunt)cious8.3Treehouse of Horror VII8.2Brother from Another Series8.0The Homer They Fall8.2Bart After Dark7.7Lost Our Lisa7.9Girly Edition7.5Realty Bites7.9The Old Man and the Lisa8.0A Milhouse Divided8.1My Sister, My Sitter7.5The Last Temptation of Krust8.2The Cartridge Family8.2Grade School Confidential8.8Hurricane Neddy8.3Simpson Tide7.3The Simpsons Spin-Off Showcase9.1The City of New York vs. Homer Simpson7.6Miracle on Evergreen Terrace8.3King of the Hill8.1Das Bus7.6Lard of the Dance7.7Bart Carny8.0Lisa the Simpson8.0The Day the Violence Died7.3When You Dish Upon a Star8.0Lisa Gets an "A"7.3Homer Simpson in: "Kidney Trouble"7.2Lisa the Tree Hugger6.9Sunday, Cruddy Sunday7.6Maximum Homerdrive7.3Hello Gutter, Hello Fadder7.3Simpsons Bible Stories6.9Tennis the Menace7.8Viva Ned Flanders7.7Treehouse of Horror X7.2Last Tap Dance in Springfield7.5Brother's Little Helper7.3The Old Man and the "C" Student7.0Bart to the Future7.3Beyond Blunderdome7.3They Saved Lisa's Brain7.7Homer to the Max7.1Take My Wife, Sleaze7.3Little Big Mom6.9Faith Off7.5Worst Episode Ever6.6Saddlesore Galactica7.9Behind the Laughter7.3The Great Money Caper7.3Missionary: Impossible7.4Days of Wine and D'oh'ses8.6Bart on the Road6.5Bye, Bye, Nerdie7.3I'm Goin' to Praiseland7.0Simpsons Tall Tales7.7I Am Furious (Yellow)6.9The Sweetest Apu7.0The President Wore Pearls7.1The Parent Rap7.7Weekend at Burnsie's7.1Large Marge7.1The Bart Wants What It Wants6.9Mr. Spritz Goes to Washington7.2A Hunka Hunka Burns in Love7.3How I Spent My Strummer Vacation7.1She of Little Faith6.8Helter Shelter7.3Tales from the Public Domain6.9The Strong Arms of the Ma6.9Brawl in the Family7.3Jaws Wired Shut7.2Little Girl in the Big Ten6.8Old Yeller-Belly7.1Special Edna6.6Barting Over7.0Dude, Where's My Ranch?6.6The Bart of War7.4Treehouse of Horror XIV8.6Mountain of Madness6.6Today I Am a Clown6.7Marge vs. Singles, Seniors, Childless Couples and Teens and Gays7.3Diatribe of a Mad Housewife7.0All's Fair in Oven War6.2Bart-Mangled Banner6.8A Star Is Torn6.9See Homer Run7.3Milhouse Doesn't Live Here Anymore6.9The Ziff Who Came to Dinner6.4Homer and Ned's Hail Mary Pass6.9The Girl Who Slept Too Little6.9The Wandering Juvie7.0Milhouse of Sand and Fog7.3Treehouse of Horror XVI6.7Homer's Paternity Coot6.6She Used to Be My Girl6.7My Big Fat Geek Wedding7.3Future-Drama7.0The Italian Bob7.3Simple Simpson7.0We're on the Road to D'ohwhere6.9On a Clear Day I Can't See My Sister7.1Home Away from Homer7.4Treehouse of Horror XV7.3Midnight Rx6.8Pranksta Rap7.6Dumbbell Indemnity7.2Girls Just Want to Have Sums7.1The Monkey Suit6.3The Boys of Bummer7.1Treehouse of Horror XVIII6.3Rome-Old and Juli-Eh6.1Papa Don't Leech6.6Marge and Homer Turn a Couple Play6.6The Wife Aquatic7.0Double, Double, Boy in Trouble7.1Treehouse of Horror XVII6.3That '90s Show6.6The Burns and the Bees6.8Moe'N'a Lisa7.2The Haw-Hawed Couple7.1Husbands and Knives6.4All About Lisa7.3You Kent Always Say What You Want6.6Dangerous Curves7.3Springfield Up7.0Revenge Is a Dish Best Served Three Times7.3Marge Gamer7.0Stop! Or My Dog Will Shoot7.3Dial 'N' for Nerder6.6Love, Springfieldian Style7.1MyPods and Boomsticks7.2Sex, Pies and Idiot Scrapes7.0Any Given Sundance7.5Bart the Mother7.0Take My Life, Please7.0No Loan Again, Naturally6.3Elementary School Musical7.1Waverly Hills, 9-0-2-1-D'oh7.2The Bob Next Door7.2The Good, the Sad and the Drugly6.7Once Upon a Time in Springfield6.6Bart Gets a 'Z'7.2Eeny Teeny Maya Moe6.9Chief of Hearts6.3The Great Wife Hope7.2To Surveil with Love6.7The Scorpion's Tale6.9The Blue and the Gray6.6The Color Yellow6.5The Fool Monty7.2O Brother, Where Bart Thou?6.8Boy Meets Curl6.5Love Is a Many Strangled Thing6.7The Devil Wears Nada7.2Homer Scissorhands7.0Stealing First Base6.4How Munched is That Birdie in the Window?6.6The Real Housewives of Fat Tony6.3Moms I'd Like to Forget6.8MoneyBart6.9Flaming Moe7.3I'm with Cupid7.0Bart Stops to Smell the Roosevelts6.7Replaceable You7.0The D'oh-cial Network7.1Married to the Blob6.7Ned 'n Edna's Blend6.7Gone Abie Gone6.9Homer Goes to Prep School6.5Four Regrettings and a Funeral7.0Yellow Subterfuge7.4A Totally Fun Thing That Bart Will Never Do Again7.8The Book Job6.5The Daughter Also Rises7.6Steal This Episode6.9Exit Through the Kwik-E-Mart7.0Black Eyed, Please7.1Them, Robot7.1Treehouse of Horror XXIV6.5Pulpit Friction6.6The Changing of the Guardian6.4Moonshine River6.5A Tree Grows in Springfield7.3Treehouse of Horror XXIII7.2The Day the Earth Stood Cool7.0Hardly Kirk-ing6.3The Fabulous Faker Boy7.1Labor Pains7.0Dangers on a Train7.3Marge Simpson in: "Screaming Yellow Honkers"6.6The Winter of His Content5.8What to Expect When Bart's Expecting6.5Covercraft6.3Walking Big & Tall6.8Treehouse of Horror XXVI6.6The Girl Code6.7Pay Pal5.9Every Man's Dream6.2Let's Go Fly a Coot6.7Waiting for Duffman6.3Lisa with an 'S'7.3Bart's New Friend6.3Love Is in the N2-O2-Ar-CO2-Ne-He-CH46.9The Kids Are All Fight6.9Sky Police5.8Clown in the Dumps6.5Super Franchise Me6.7Much Apu About Something6.8I Won't Be Home for Christmas7.3Treehouse of Horror XXV6.7My Fare Lady6.5The Burns Cage6.9Mathlete's Feat6.3Lisa the Veterinarian7.1Paths of Glory7.2Puffless8.0Brush with Greatness8.8Flaming Moe's8.1Bart the General8.2Brother, Can You Spare Two Dimes?9.0Homer the Heretic9.0Cape Feare7.7Bart's Inner Child8.8Deep Space Homer8.4Sweet Seymour Skinner's Baadasssss Song8.2The Boy Who Knew Too Much9.0Treehouse of Horror V9.1Who Shot Mr. Burns? (Part One)9.2You Only Move Twice8.5El Viaje Misterioso de Nuestro Jomer (The Mysterious Voyage of Homer)9.2Homer's Enemy8.1Treehouse of Horror VIII7.7The Two Mrs. Nahasapeemapetilons7.6D'oh-in' in the Wind8.0Skinner's Sense of Snow8.0HOMR8.6Trilogy of Error8.0Poppa's Got a Brand New Badge7.6Treehouse of Horror XIII8.2Holidays of Future Passed7.9Simpsorama7.5Halloween of Horror6.7To Courier with Love7.5Homer's Odyssey7.3Grift of the Magi7.4A Tale of Two Springfields7.2Homer vs. Dignity6.5The Old Man and the Key7.1'Scuse Me While I Miss the Sky7.1Margical History Tour7.0Mobile Homer7.4Don't Fear the Roofer7.4The Seemingly Never-Ending Story6.5Homer Simpson, This Is Your Wife6.7The Wettest Stories Ever Told7.2Midnight Towboy7.1Homer and Lisa Exchange Cross Words7.2Coming to Homerica7.3Treehouse of Horror XX6.7American History X-cellent6.9The Squirt and the Whale7.1Treehouse of Horror XXI6.8The Man in the Blue Flannel Pants7.1Dark Knight Court7.2The Saga of Carl6.9You Don't Have to Live Like a Referee6.6The Princess Guide6.4How Lisa Got Her Marge Back6.9Orange Is the New Yellow6.6Monty Burns' Fleeing Circus7.2New Kids on the Blecch7.0Sweets and Sour Marge7.1The Frying Game7.3I'm Spelling As Fast As I Can7.1A Star Is Born-Again7.1The Regina Monologues7.2The Father, the Son, and the Holy Guest Star6.9Marge's Son Poisoning7.2Kiss Kiss, Bang Bangalore6.7Jazzy and the Pussycats6.7He Loves to Fly and He D'ohs6.9I Don't Wanna Know Why the Caged Bird Sings8.2Eternal Moonshine of the Simpson Mind5.9Lisa the Drama Queen7.0How the Test Was Won6.3In the Name of the Grandfather6.8Wedding for Disaster7.0The Ned-Liest Catch7.0At Long Last Leave7.3How I Wet Your Mother6.9Adventures in Baby-Getting6.4Diggs7.0Days of Future FutureFork
js
Plot.plot({
  padding: 0,
  grid: true,
  x: {axis: "top", label: "Season"},
  y: {label: "Episode"},
  color: {type: "linear", scheme: "PiYG"},
  marks: [
    Plot.cell(simpsons, {x: "season", y: "number_in_season", fill: "imdb_rating", inset: 0.5}),
    Plot.text(simpsons, {x: "season", y: "number_in_season", text: (d) => d.imdb_rating?.toFixed(1), fill: "black", title: "title"})
  ]
})

With faceting, we can produce a calendar of multiple years, where x represents week-of-year and y represents day-of-week. Below shows almost twenty years of daily changes of the Dow Jones Industrial Average.

200020012002200320042005200620072008200920102011201220132014201520162017201820192020MTWTFMTWTFMTWTFMTWTFMTWTFMTWTFMTWTFMTWTFMTWTFMTWTFMTWTFMTWTFMTWTFMTWTFMTWTFMTWTFMTWTFMTWTFMTWTFMTWTFMTWTF-3.21.11.22.40.4-0.50.30.31.2-1.4-0.6-1.2-0.9-2.20.20.0-0.0-2.61.90.9-0.30.1-0.5-0.50.5-2.4-0.5-2.10.91.9-1.5-0.4-2.80.8-0.8-1.3-2.31.80.90.10.32.0-1.9-3.70.61.6-0.80.2-1.43.34.9-0.30.82.1-0.42.3-0.1-0.8-0.80.8-0.3-0.52.7-0.5-1.20.7-0.00.70.9-1.4-1.8-5.72.71.7-0.91.60.62.0-1.6-0.5-1.40.7-0.7-2.3-0.61.60.2-0.6-1.61.70.61.91.2-1.50.1-1.4-0.8-1.11.1-2.0-0.22.2-0.01.21.30.2-0.70.7-1.3-0.5-0.50.50.60.3-2.51.0-1.20.6-1.20.31.3-0.40.2-1.20.51.1-0.7-0.01.50.10.80.50.00.2-0.1-0.6-0.41.4-1.0-0.50.1-1.70.7-0.70.10.80.80.20.60.91.0-0.60.01.11.3-1.0-0.50.4-0.10.30.50.00.30.10.5-0.3-1.01.00.20.20.4-0.4-0.3-0.20.3-0.5-0.8-1.4-1.1-0.2-0.90.70.8-0.4-1.6-0.01.8-1.60.50.20.6-0.6-1.2-0.3-0.4-1.1-3.61.60.5-1.5-1.11.70.80.41.2-0.60.52.02.31.2-0.7-0.2-0.61.5-0.2-0.4-0.7-2.1-0.81.60.2-0.5-0.2-1.60.3-0.90.70.7-0.41.2-2.0-0.41.83.2-2.2-0.40.90.10.40.2-1.1-2.22.0-0.6-2.51.61.40.51.00.6-0.7-1.32.8-0.3-2.3-0.4-0.50.30.0-0.81.2-0.60.9-0.8-0.10.7-0.00.8-0.60.41.70.10.9-1.10.9-0.1-0.1-0.6-0.91.5-0.4-1.00.9-0.8-0.6-1.90.0-0.81.9-0.1-1.3-0.40.20.90.31.31.2-2.0-4.10.8-3.10.6-2.11.4-2.4-2.4-1.01.21.92.7-1.60.10.8-1.0-3.00.34.2-1.30.62.6-0.91.10.30.63.90.7-1.1-0.5-0.71.60.61.1-0.71.5-0.2-0.71.4-0.1-0.5-0.20.4-0.80.5-0.03.20.30.50.3-0.7-1.30.2-1.10.3-1.50.40.70.61.0-0.90.2-1.0-0.50.2-0.7-1.7-0.60.2-0.50.50.6-1.0-0.9-0.3-0.41.3-0.60.9-0.2-0.9-2.20.5-1.20.62.30.6-0.61.3-0.30.4-0.3-1.4-1.81.60.5-0.4-0.11.2-0.10.4-0.4-1.10.6-1.60.01.1-0.0-0.0-0.60.5-1.50.8-1.41.0-0.51.9-0.4-1.5-1.3-1.70.30.50.4-1.9-2.4-0.0-7.1-0.2-1.6-4.4-1.74.50.7-1.11.31.9-0.11.31.9-0.70.6-0.6-0.22.11.8-0.70.00.4-1.6-0.80.41.9-0.40.11.30.9-2.9-1.6-0.52.10.61.31.6-0.40.30.2-0.62.10.70.5-0.11.1-0.8-0.71.30.2-1.1-1.61.20.2-0.91.32.2-0.1-0.5-1.3-0.30.1-1.30.50.81.10.7-0.80.50.00.50.40.1-1.10.51.00.9-0.6-0.5-0.6-0.3-0.8-1.00.3-2.11.4-0.8-0.60.20.70.40.3-2.51.51.6-0.1-2.2-0.0-0.3-0.31.21.4-0.21.30.1-1.0-1.62.0-1.11.41.8-0.30.1-0.22.62.1-1.41.4-0.50.40.40.2-1.20.10.9-0.30.5-1.3-0.2-0.5-1.40.70.7-0.2-0.4-0.5-1.10.40.4-0.2-0.41.7-2.00.1-1.02.1-0.8-0.20.5-1.2-0.5-0.60.0-1.2-0.91.31.10.3-0.8-2.00.33.1-1.0-1.01.71.9-0.50.40.6-1.2-1.20.50.6-1.1-1.2-0.6-0.10.1-2.2-0.21.1-1.8-0.40.6-1.31.1-1.2-0.32.30.2-1.5-1.4-1.90.3-1.7-0.11.6-0.3-1.4-1.10.53.6-1.1-1.9-3.1-0.1-1.3-0.5-1.90.8-1.6-4.6-2.9-1.16.3-0.11.05.4-0.40.7-2.6-2.3-3.22.92.23.00.4-0.6-2.43.10.9-0.52.4-1.31.01.1-2.00.5-1.1-1.5-0.3-0.1-4.11.4-1.71.71.11.0-0.2-2.4-0.80.8-2.1-0.4-2.80.5-1.4-2.42.12.0-3.7-1.44.6-2.3-0.5-2.4-1.41.1-2.93.44.20.34.8-2.73.00.62.6-1.00.5-2.11.5-0.90.00.7-0.41.40.61.21.1-2.1-0.6-2.10.30.11.70.4-1.1-0.11.72.6-0.50.5-2.02.9-0.4-0.4-1.3-0.1-1.30.3-2.01.20.2-0.6-1.22.3-1.1-1.0-1.01.8-0.2-0.5-0.2-1.50.40.13.2-0.12.0-0.4-1.72.10.10.00.6-1.4-0.3-1.3-1.7-1.50.6-2.8-1.71.20.3-2.01.40.7-1.2-0.4-0.7-0.80.7-1.0-1.1-0.12.11.7-0.5-1.11.3-2.00.7-1.31.00.1-0.7-1.70.9-1.30.9-2.2-0.60.43.60.53.60.60.90.32.8-3.60.8-0.6-0.3-0.7-1.91.02.7-0.50.40.3-0.0-1.20.3-0.21.80.6-1.71.0-0.11.90.4-0.9-1.62.00.4-0.3-0.31.5-0.60.7-0.3-0.81.31.4-0.5-0.40.8-0.4-2.1-0.00.30.90.12.10.1-0.91.60.50.31.30.00.2-0.90.81.40.1-0.92.20.0-0.3-1.20.2-1.40.4-1.10.7-1.0-0.00.61.1-0.81.60.1-0.7-1.30.90.6-0.5-0.4-0.51.5-1.00.70.4-0.91.9-0.2-0.7-0.00.4-0.90.4-1.60.30.70.70.31.0-0.40.40.11.00.2-0.30.3-0.8-0.30.2-0.10.40.41.10.50.2-0.90.9-0.8-0.90.40.1-0.21.3-0.21.2-0.1-1.10.4-1.6-0.9-0.30.7-1.12.10.20.90.20.6-0.20.5-0.10.90.5-0.1-0.1-0.70.6-0.3-1.50.2-0.30.31.50.30.10.10.6-0.2-0.20.4-0.5-0.5-0.21.1-0.1-0.7-0.6-0.90.7-0.70.11.20.20.20.01.2-0.50.20.6-0.71.0-0.4-0.00.90.3-0.21.10.21.00.30.60.0-0.30.21.2-0.20.3-0.41.3-0.1-0.10.6-1.30.3-0.61.10.10.4-0.70.9-0.0-0.51.3-0.9-1.30.4-0.20.10.1-0.30.20.9-0.10.31.2-0.4-0.60.8-0.4-0.1-0.4-0.1-0.40.3-0.20.00.9-0.80.0-0.00.1-0.6-0.7-1.5-1.61.1-1.30.81.1-0.0-1.1-1.2-0.0-0.21.7-0.11.10.5-0.20.20.90.80.1-0.9-0.40.7-1.3-0.00.20.5-0.1-1.20.01.40.1-0.30.3-1.3-0.7-0.50.90.0-0.1-0.7-1.2-1.30.30.3-0.30.0-1.10.6-0.3-0.00.3-0.11.6-0.10.9-0.20.10.6-0.70.51.40.4-0.60.4-0.70.4-0.0-0.00.4-0.40.20.8-0.3-0.7-0.10.50.2-1.0-0.5-0.60.2-0.70.40.20.1-0.4-0.4-0.2-0.50.5-1.00.0-0.9-0.01.20.30.10.10.4-0.60.1-1.6-1.5-0.01.3-0.1-1.20.11.30.21.1-0.40.7-0.40.30.8-0.10.2-0.70.5-0.11.2-0.30.8-0.3-0.20.20.00.0-0.80.10.4-0.80.4-1.3-0.70.1-0.60.90.6-0.61.10.2-0.40.6-1.1-0.70.3-0.0-0.7-1.10.40.2-0.6-0.1-0.2-1.1-0.11.41.10.00.20.3-0.21.01.80.70.0-0.0-0.00.80.70.1-0.60.60.2-1.10.30.00.30.0-0.4-0.51.6-0.00.1-0.4-1.00.50.6-0.10.90.40.10.1-0.50.10.90.50.1-0.50.7-0.2-0.3-0.2-0.5-0.9-0.30.2-0.20.2-0.60.6-1.10.50.7-0.8-0.6-0.7-0.20.90.4-0.3-0.40.60.60.4-0.01.2-0.00.1-0.60.80.4-0.00.4-0.0-0.70.3-1.60.60.70.9-0.70.6-0.20.21.0-0.0-0.2-1.00.4-0.70.3-0.5-1.0-0.10.0-0.6-0.9-0.1-0.10.4-0.81.3-0.4-0.90.20.40.30.6-0.8-0.10.6-1.0-1.2-1.9-0.20.6-1.12.1-0.60.8-0.90.5-1.31.20.60.11.2-0.40.00.4-1.00.2-1.1-0.51.10.81.30.3-0.20.5-0.2-0.40.80.0-0.70.80.0-0.90.10.2-0.10.20.10.10.20.20.10.4-0.1-0.1-0.1-1.6-1.2-0.11.1-0.3-1.00.30.7-1.00.31.40.7-0.10.40.70.1-0.60.70.4-0.60.2-0.5-0.20.50.6-0.6-0.20.60.1-0.8-0.5-0.20.7-0.20.9-0.80.3-1.10.40.00.00.1-0.5-0.80.2-0.50.6-0.50.7-0.2-0.11.40.4-0.40.80.0-0.8-0.50.10.8-0.8-0.7-1.00.4-0.00.20.10.20.80.2-0.3-0.9-1.2-0.30.1-0.50.1-0.4-0.00.70.6-0.61.3-1.3-0.61.7-0.1-0.3-1.11.70.4-0.30.60.50.10.5-0.40.10.90.40.1-0.1-0.10.40.40.50.50.40.1-0.4-0.0-0.81.0-0.3-0.40.2-0.4-0.50.2-0.10.50.6-0.0-0.1-0.4-0.30.30.5-0.1-1.00.2-0.1-0.61.20.30.00.70.5-0.00.3-0.7-0.0-0.6-0.40.2-2.00.20.2-0.00.90.9-0.1-0.30.8-0.9-0.50.0-0.41.00.20.3-0.21.20.30.6-0.0-0.40.6-0.6-0.10.3-0.90.5-0.3-0.0-0.60.20.2-0.30.9-0.00.70.50.40.2-0.0-0.30.7-0.40.1-0.3-0.80.5-0.6-0.40.30.50.3-0.2-0.90.2-0.50.40.1-0.61.80.10.60.0-0.1-0.50.60.2-0.1-0.20.6-0.10.31.20.10.50.0-1.2-1.00.4-0.1-1.9-0.70.1-0.2-0.20.20.80.6-1.60.70.8-0.1-1.8-0.4-0.60.1-0.4-0.9-0.81.01.8-0.0-0.70.31.0-0.5-0.30.5-1.10.42.0-0.40.7-0.70.7-1.20.10.3-1.1-1.5-1.00.10.52.0-0.8-0.51.70.5-0.0-0.01.1-0.3-0.50.70.4-0.0-0.2-0.4-0.90.4-0.30.11.20.90.10.4-0.3-0.0-0.40.1-0.20.60.20.1-0.00.70.0-0.5-0.70.50.00.90.4-0.10.3-0.0-0.10.6-0.7-0.20.60.80.20.2-0.3-0.10.51.10.1-0.10.10.1-0.10.80.10.2-0.30.40.2-0.11.00.10.10.2-0.6-0.0-0.0-0.4-0.1-0.31.00.40.2-0.60.00.20.70.30.40.3-0.20.00.0-0.4-1.30.10.7-0.0-0.20.70.4-0.2-0.30.20.2-0.10.00.80.2-0.00.2-0.1-0.3-0.60.50.8-0.1-0.30.10.0-0.70.2-0.10.20.60.30.2-0.0-0.1-0.0-0.70.50.7-0.9-0.10.00.30.80.4-0.20.10.00.0-0.2-0.4-0.20.80.70.20.00.1-0.4-0.4-0.3-0.1-3.30.4-0.3-1.0-0.51.3-0.10.60.10.3-2.00.50.2-0.41.00.51.30.10.2-0.1-0.6-0.80.40.00.21.00.20.20.10.0-0.70.50.50.90.40.20.01.2-0.30.31.00.10.1-0.40.60.60.20.20.4-0.00.4-1.10.80.20.30.8-0.10.6-0.1-0.0-0.1-0.60.50.10.8-0.00.30.1-0.6-1.0-1.51.20.0-1.01.40.50.6-0.20.2-1.10.4-1.4-0.1-0.10.7-0.0-0.10.90.3-0.10.30.3-1.10.62.10.30.30.1-0.40.6-1.10.7-1.60.5-2.3-1.50.7-1.11.10.8-2.12.20.31.1-2.8-0.2-0.0-1.6-1.3-0.11.80.3-0.21.1-0.01.1-0.4-2.11.9-0.40.90.7-1.10.4-1.90.11.4-0.11.00.1-0.32.50.6-0.40.4-0.40.10.70.3-0.11.4-0.3-0.60.00.7-0.20.9-0.6-0.50.6-0.8-0.5-0.1-0.0-2.60.30.8-0.0-0.01.00.5-0.61.0-2.60.2-0.40.9-2.6-0.3-1.7-0.42.5-0.6-0.90.5-1.70.4-1.61.4-1.81.72.60.20.5-0.4-0.51.51.30.00.7-2.10.30.3-1.3-1.30.5-0.20.31.50.70.0-1.40.0-0.8-1.70.1-2.00.2-1.91.20.9-1.91.4-2.2-0.3-2.5-0.5-1.12.50.9-1.41.40.8-0.31.70.7-0.8-2.9-0.50.4-0.50.51.11.4-1.4-0.2-0.10.7-1.20.81.50.90.1-0.9-2.5-0.1-0.40.3-1.8-1.2-1.33.5-0.40.3-1.60.23.5-2.42.21.5-0.1-0.9-1.0-0.70.43.2-0.40.1-0.10.0-0.3-0.40.4-2.0-0.20.52.10.01.8-0.2-0.80.30.70.3-0.2-0.3-0.11.50.4-0.70.4-1.60.4-0.91.0-0.30.50.7-0.00.3-1.5-1.80.2-1.20.60.40.4-0.1-1.1-0.8-0.11.7-3.10.60.1-1.70.51.4-0.3-0.9-1.10.3-1.8-0.0-0.30.0-3.0-0.90.00.3-1.50.7-0.51.4-2.10.7-1.1-0.4-0.82.51.80.4-0.31.20.3-2.40.2-2.12.41.6-1.8-0.5-0.42.90.3-1.92.60.4-1.2-0.90.70.4-1.5-1.10.60.11.7-2.10.20.81.8-1.5-0.20.1-3.00.32.6-2.40.31.5-0.1-4.41.3-4.13.93.3-3.3-1.5-0.31.81.1-7.04.7-0.2-3.2-1.5-3.6-5.1-2.0-7.3-1.511.1-0.8-7.94.7-1.44.7-2.5-5.72.0-3.6-2.410.9-0.82.11.6-0.13.3-5.0-4.92.9-0.8-2.0-4.76.7-3.8-2.61.8-5.1-5.66.54.90.42.91.2-7.73.32.1-2.53.13.5-2.70.8-2.20.8-0.84.2-1.1-2.5-0.3-0.7-1.20.60.6-0.42.21.22.9-0.90.7-2.7-0.3-1.6-1.5-0.3-2.90.20.8-4.03.5-1.3-0.60.50.72.5-2.7-1.8-0.81.8-1.51.32.7-0.1-4.60.6-0.1-1.0-3.80.0-1.2-1.3-3.43.3-1.1-1.2-1.7-4.2-0.62.2-4.10.5-1.25.80.13.50.8-0.12.51.2-1.1-1.76.8-1.51.22.3-1.9-3.31.22.02.80.5-0.5-2.30.63.1-0.3-1.71.41.20.1-3.61.6-1.00.91.5-0.6-0.12.1-0.20.52.6-0.21.2-1.22.0-1.80.6-2.20.6-0.82.8-0.3-0.6-1.5-0.22.4-2.01.31.12.60.2-0.80.90.10.0-0.0-0.30.40.3-2.1-1.2-0.10.7-0.2-2.4-0.2-0.32.1-0.41.1-1.00.7-2.60.5-1.90.20.1-0.42.30.33.11.10.41.20.8-0.42.10.30.2-0.1-0.30.90.21.30.4-0.4-0.31.2-0.3-1.01.30.4-0.8-2.00.90.70.81.70.00.30.00.4-0.4-0.5-2.0-0.30.71.00.60.50.8-0.20.20.61.1-0.10.4-0.40.5-0.8-0.4-0.41.3-0.5-0.3-2.1-0.21.21.4-0.10.60.80.2-0.11.50.5-0.71.0-0.5-0.91.3-1.1-1.00.1-1.22.0-2.50.8-0.20.32.10.22.00.20.4-0.90.71.30.3-0.1-0.9-0.11.3-0.20.3-1.50.31.2-0.2-0.80.20.0-1.00.50.70.60.3-0.5-0.1-1.30.20.80.50.00.50.3-0.00.0-1.11.5-0.10.00.30.10.4-0.30.50.3-0.91.1-1.1-2.0-2.10.2-0.00.4-1.1-0.51.21.1-0.3-2.60.1-1.01.5-0.21.1-0.41.70.40.80.1-0.2-1.00.9-0.50.00.80.0-0.10.51.2-0.10.10.00.40.10.20.40.40.4-0.30.41.0-0.50.00.10.40.1-0.50.60.4-0.0-0.70.30.60.10.10.90.2-1.10.70.20.10.10.60.0-1.90.51.1-1.41.3-2.0-0.5-3.2-1.33.9-0.31.4-1.0-1.50.1-1.1-0.6-3.61.2-1.2-0.2-0.72.9-1.2-1.12.20.1-3.2-1.21.3-0.42.80.4-0.22.10.00.20.2-0.1-1.40.0-1.4-0.1-0.1-2.6-1.0-0.4-0.50.62.81.20.60.21.40.0-0.1-2.50.60.7-1.12.01.01.00.1-0.4-0.3-0.02.0-0.40.4-0.1-0.20.4-0.5-2.5-0.6-0.2-0.01.00.1-1.4-0.6-0.4-1.30.2-0.71.7-1.40.02.50.51.2-1.00.40.30.50.8-0.20.40.20.11.40.1-0.2-0.71.9-0.40.4-0.2-0.40.4-0.71.80.2-0.20.50.00.10.7-0.0-0.30.7-1.51.20.3-0.10.30.0-0.4-0.10.00.10.60.22.00.1-0.3-0.50.1-0.7-0.80.1-1.6-0.11.60.2-0.2-1.31.4-0.9-0.4-0.42.30.90.2-0.2-0.00.1-0.00.40.20.4-0.20.4-0.1-0.10.50.20.1-0.20.20.1-0.10.10.80.20.3-0.2-0.2-0.30.30.7-0.20.50.4-0.1-0.00.40.9-0.00.10.0-1.40.61.20.00.20.20.60.60.1-0.10.4-0.0-0.30.50.20.6-1.4-0.9-0.30.50.8-1.40.11.6-0.7-0.71.0-0.0-1.90.5-0.4-1.1-2.01.40.71.5-0.10.60.70.4-0.20.70.6-0.30.50.2-0.00.3-0.1-0.20.0-0.90.10.10.5-1.10.51.50.4-0.20.90.80.60.4-0.00.0-0.7-1.10.40.40.6-1.00.5-0.8-0.4-0.50.60.4-0.7-1.0-0.20.30.10.31.0-2.2-0.3-0.8-0.5-0.2-0.20.6-1.40.01.0-1.50.50.40.60.9-0.7-0.5-1.00.91.20.61.21.4-0.10.40.7-0.5-1.2-0.50.4-0.40.3-0.81.6-0.11.2-0.3-0.7-0.7-1.6-0.5-0.8-0.1-2.20.3-4.30.5-5.54.0-4.63.91.11.9-0.70.0-3.7-1.60.33.01.3-1.51.22.30.20.5-1.0-2.2-0.92.5-1.0-2.70.60.41.31.70.7-0.90.1-2.5-3.50.42.51.3-1.61.3-2.2-2.41.41.21.7-0.23.0-0.10.9-0.41.4-2.11.6-0.60.32.30.9-1.71.42.90.2-2.3-2.51.51.8-0.50.70.8-3.21.02.2-0.60.1-1.6-1.10.2-2.1-0.5-2.1-0.22.60.34.2-0.2-0.00.70.40.4-1.61.6-1.3-0.6-1.10.4-0.0-0.82.90.00.51.0-0.0-1.11.1-0.61.50.2-0.0-0.40.30.6-0.10.2-0.40.50.80.40.8-0.1-0.30.7-0.2-0.6-0.1-0.20.7-0.11.2-0.10.30.00.1-0.70.60.0-0.81.00.40.1-0.20.4-0.0-0.00.2-0.40.2-0.0-0.1-1.60.60.60.10.31.70.10.4-0.20.0-0.5-0.3-0.60.31.2-0.3-0.50.10.50.4-0.5-0.9-0.1-1.0-1.70.71.4-1.10.61.5-0.6-0.50.5-0.80.60.70.90.2-0.10.5-0.1-0.5-1.3-0.2-0.6-0.80.2-0.3-1.0-0.5-0.3-1.2-0.61.1-0.0-0.10.3-0.61.0-1.3-0.2-2.2-0.10.22.40.40.7-1.11.3-0.61.20.9-0.20.7-0.1-2.00.5-1.10.30.7-0.22.2-0.10.6-0.4-1.0-0.3-0.7-0.4-0.21.6-0.40.60.80.3-0.9-0.8-0.80.51.71.5-0.0-0.5-0.3-0.71.70.20.40.1-0.10.3-0.30.0-0.10.60.2-0.0-0.5-0.2-0.90.8-0.3-0.20.0-0.80.7-0.40.11.90.1-0.40.50.11.50.4-0.30.10.10.1-0.1-0.2-0.7-0.30.5-0.40.6-0.20.10.60.3-0.2-0.8-1.0-0.10.00.71.00.0-0.1-1.50.0-1.8-0.20.20.0-0.11.0-1.10.11.0-2.4-0.90.0-0.0-0.5-1.5-0.20.41.6-0.10.41.3-0.3-0.70.80.30.0-0.5-0.10.60.30.60.10.6-0.0-0.6-0.30.80.9-0.70.5-0.9-0.4-0.2-0.1-1.21.32.4-0.20.3-0.4-0.40.50.60.10.10.2-0.20.60.40.50.50.30.5-0.10.5-0.3-0.41.1-0.90.70.1-0.30.4-0.20.3-0.3-0.10.10.4-0.8-0.30.9-1.50.81.3-0.10.30.30.90.30.20.50.30.00.00.6-0.2-0.40.00.4-0.60.6-0.40.8-0.20.4-0.00.6-0.80.4-0.30.30.40.90.4-0.0-1.81.1-0.9-0.60.10.11.0-0.30.20.10.70.1-0.90.91.0-0.00.60.3-0.10.2-0.20.80.4-0.30.8-0.10.3-0.5-0.10.10.7-0.70.1-1.40.9-0.5-1.40.51.4-0.1-0.8-0.81.2-0.70.70.9-1.3-2.30.3-0.90.71.00.8-0.80.4-0.30.41.00.60.5-0.11.10.00.1-0.20.10.5-0.00.00.1-0.20.10.0-0.2-0.0-0.10.80.2-0.3-0.6-0.30.2-0.5-0.00.2-0.7-1.5-0.2-0.5-0.1-0.70.40.3-0.4-1.10.30.1-0.20.20.70.0-0.10.90.80.9-0.20.50.80.20.9-0.3-1.2-0.3-0.4-0.40.4-0.5-0.80.4-0.4-0.90.5-0.9-1.10.22.20.70.4-0.91.4-0.00.2-0.00.5-0.40.60.4-0.00.7-0.4-0.50.40.2-0.10.8-1.01.10.1-0.20.50.30.50.1-0.1-0.40.70.30.00.00.2-0.1-0.5-0.6-0.2-0.41.30.0-0.3-0.8-0.70.10.8-0.11.80.10.30.50.40.7-0.00.20.4-0.80.2-0.30.6-0.4-0.1-0.0-1.10.70.7-0.40.3-0.3-0.3-1.1-2.0-0.30.6-1.20.7-0.9-2.10.5-0.01.21.10.01.2-0.20.40.8-0.1-0.60.6-0.20.6-0.20.10.50.3-0.91.4-0.20.40.2-0.2-0.4-0.1-1.4-0.31.10.5-0.70.7-0.2-0.20.6-0.6-0.00.40.80.50.2-0.0-1.0-1.00.11.1-1.6-0.90.90.61.0-0.10.20.4-0.10.0-0.80.50.50.3-0.1-0.30.1-0.80.70.20.20.70.1-0.6-1.00.30.1-0.81.00.10.40.4-0.30.40.10.2-0.10.10.60.50.10.0-0.6-0.70.20.00.20.60.10.2-0.1-0.70.3-0.10.0-0.10.80.10.5-0.3-0.70.5-0.40.20.70.00.5-0.90.7-0.30.4-0.2-0.0-0.70.1-0.4-0.2-1.9-0.40.5-0.80.1-0.51.10.1-0.10.60.4-0.31.10.50.40.4-0.20.40.20.1-0.20.1-0.20.1-0.10.4-0.2-0.60.3-0.1-0.40.30.60.10.60.1-0.6-0.70.9-1.51.0-0.2-0.2-1.4-0.01.2-0.1-1.61.6-2.0-0.7-1.3-0.0-1.1-0.21.60.11.3-0.91.30.80.11.1-0.21.31.1-0.10.10.60.40.10.20.0-0.00.2-0.10.10.2-0.00.20.50.0-0.00.10.0-0.30.60.2-0.10.3-0.6-0.3-1.50.4-1.8-0.6-0.71.72.40.10.90.40.00.1-0.1-0.3-0.90.1-1.9-0.71.21.8-1.0-0.5-0.2-1.1-0.61.10.00.21.5-0.80.0-1.6-1.11.3-1.41.11.80.01.2-0.3-0.50.8-0.00.60.30.2-0.1-0.20.9-0.10.50.1-0.1-0.40.9-0.5-0.60.2-1.50.8-1.8-0.21.5-0.81.3-0.71.3-0.60.9-0.1-0.6-1.6-0.20.21.5-1.1-0.40.40.7-0.00.20.30.6-0.40.30.4-0.0-1.51.2-0.50.50.10.1-0.20.4-0.4-1.11.00.3-0.8-0.50.51.5-0.5-0.2-0.01.10.10.10.1-0.10.0-0.3-1.00.7-0.2-0.60.2-0.20.4-0.9-0.3-0.5-0.01.30.2-0.8-0.60.60.21.0-0.60.60.1-1.0-0.40.3-2.00.10.8-0.2-0.30.5-1.50.21.21.20.4-0.00.4-0.20.1-1.0-0.4-0.7-0.9-0.71.10.7-0.0-0.3-0.5-0.3-0.1-0.7-0.31.4-1.2-0.00.00.40.4-0.2-0.9-2.1-3.1-3.6-1.34.02.3-0.1-0.7-2.81.80.1-1.72.4-1.40.50.6-0.41.40.8-0.4-1.70.8-1.1-0.3-0.50.7-1.90.31.5-0.11.21.80.10.70.80.20.3-0.3-0.91.30.40.1-0.1-0.31.90.9-0.1-0.21.1-0.1-0.50.90.5-0.3-0.00.3-1.00.2-0.3-1.4-1.21.40.01.4-0.00.5-0.20.10.00.0-0.51.0-0.9-1.42.1-0.7-0.9-0.40.5-1.80.60.91.3-1.4-2.10.71.01.1-0.3-0.11.1-0.7-1.0-1.60.1-1.5-2.3-1.00.30.7-2.21.4-2.40.2-1.60.71.3-1.31.8-1.40.82.5-0.1-1.81.10.5-1.3-1.1-0.1-0.6-1.62.01.41.6-0.2-0.11.4-1.10.31.3-0.3-0.72.10.20.30.40.4-0.60.2-0.01.30.10.10.40.90.70.1-0.2-0.50.10.10.60.5-0.20.6-0.3-0.80.6-1.00.2-0.10.91.10.1-0.20.60.30.2-0.60.1-0.10.10.3-1.2-0.30.7-0.8-0.60.10.5-0.21.3-1.20.1-1.01.0-1.0-0.0-0.50.4-0.01.20.8-0.10.3-0.50.00.3-0.20.60.10.4-0.1-0.7-0.7-0.3-0.20.5-0.30.70.1-0.31.3-3.4-1.51.61.61.30.1-0.60.4-0.11.40.40.70.10.70.10.10.10.2-0.40.3-0.4-0.1-0.0-0.1-0.1-0.2-0.50.2-0.01.0-0.10.0-0.20.6-0.20.3-0.50.10.1-0.2-0.10.1-0.4-0.2-0.30.6-0.3-0.30.10.40.2-0.1-0.2-2.11.3-1.4-0.21.0-0.5-0.00.10.90.5-0.7-0.90.70.6-1.10.9-0.3-0.50.6-0.1-0.20.5-1.10.1-0.20.2-0.30.40.2-0.2-0.10.4-0.30.2-0.2-0.0-0.1-0.6-0.4-0.2-0.22.10.41.41.20.20.10.3-0.30.2-0.20.50.40.30.4-0.30.10.00.4-0.10.20.21.50.30.70.20.6-0.60.3-0.00.20.5-0.2-0.10.10.1-0.6-0.1-0.30.60.3-0.20.3-0.4-0.20.5-0.3-0.0-0.3-0.1-0.40.5-0.10.60.80.2-0.0-0.6-0.50.1-0.00.9-0.10.2-0.20.60.50.70.50.50.00.00.60.20.20.10.1-0.11.5-0.50.0-0.2-0.1-0.30.00.2-0.1-0.20.5-0.1-0.1-0.0-1.1-0.0-0.0-0.3-0.20.7-0.20.3-0.3-0.10.2-0.20.1-0.00.0-0.0-0.3-0.70.9-0.6-0.60.9-0.21.11.1-0.10.0-0.2-0.10.20.0-0.00.30.0-0.2-0.2-0.1-0.10.4-0.0-1.80.30.70.40.20.40.3-0.0-0.2-0.10.60.3-0.1-0.20.20.00.4-0.20.40.2-0.10.10.7-0.3-0.3-0.1-0.00.1-0.50.7-0.80.30.6-0.0-0.70.4-0.00.00.60.10.4-0.0-0.30.3-0.1-0.1-0.30.50.50.40.20.30.30.20.00.30.1-0.1-0.2-0.90.10.60.00.1-1.2-0.40.10.9-0.4-0.10.1-0.00.30.10.30.2-1.10.2-0.10.11.20.30.20.20.30.30.20.2-0.2-0.0-0.2-0.10.30.20.10.70.40.10.5-0.0-0.10.30.2-0.10.10.40.20.70.00.7-0.20.7-0.50.30.1-0.40.10.20.30.10.00.00.0-0.4-0.20.1-0.1-0.60.8-0.40.30.7-0.30.10.11.10.41.4-0.20.2-0.5-0.20.30.50.20.50.3-0.30.60.6-0.2-0.10.2-0.1-0.00.10.3-0.50.40.40.60.9-0.10.4-0.10.80.9-0.01.3-0.40.20.5-0.00.20.50.8-0.7-1.40.30.1-2.5-4.62.3-0.1-4.11.41.70.21.01.20.1-1.0-0.70.71.41.6-1.2-1.5-1.7-0.31.40.0-0.30.41.8-0.6-0.7-1.00.50.3-1.30.5-0.2-2.9-1.82.8-1.4-0.01.1-1.91.61.01.0-2.30.21.8-0.91.2-0.50.90.9-0.2-0.3-0.8-0.1-1.70.21.0-0.0-0.6-0.3-0.70.01.40.40.00.70.80.40.3-0.80.3-0.20.01.2-0.70.2-0.3-0.2-1.61.3-1.00.90.7-0.11.40.40.30.0-0.0-0.5-0.1-0.3-0.4-1.1-0.2-0.80.5-1.30.1-0.70.40.20.1-0.50.80.41.30.6-0.90.90.40.20.20.3-0.5-0.0-0.10.80.70.4-0.3-0.60.4-0.3-0.00.50.20.5-0.2-0.3-0.8-0.50.4-0.51.60.40.30.2-0.3-0.30.51.00.10.2-0.5-0.1-0.00.10.1-0.3-0.20.40.10.60.0-0.40.70.61.00.3-0.7-0.3-0.40.20.10.70.50.2-0.7-0.70.2-0.2-3.1-2.11.1-0.42.2-0.4-1.30.3-0.5-0.5-2.41.6-1.2-1.01.81.01.1-0.40.80.72.10.0-0.8-2.3-0.4-0.80.80.5-1.6-2.2-0.0-0.71.50.42.5-0.10.81.1-3.1-0.3-2.20.1-0.20.60.3-2.0-2.10.4-1.5-2.0-1.8-2.95.01.1-0.31.10.1-2.83.30.41.10.40.5-0.0-0.40.70.60.71.4-1.20.7-0.10.7-0.80.21.8-0.10.30.70.7-0.1-0.9-0.3-0.21.50.5-0.41.70.00.2-0.40.70.2-0.1-0.3-0.30.4-0.8-0.1-0.5-0.8-0.10.8-0.40.60.00.50.3-0.1-0.50.8-1.80.10.6-0.10.40.81.3-0.30.10.60.2-0.3-0.70.0-0.11.0-0.10.3-0.00.4-0.20.5-0.2-0.50.30.00.1-0.6-0.50.7-0.3-1.80.0-0.50.4-2.40.80.50.8-0.4-0.30.8-0.4-1.10.4-0.9-0.90.2-1.40.02.10.80.71.00.3-0.1-0.20.4-0.10.11.40.10.9-0.10.0-0.7-0.0-0.00.30.40.30.7-0.2-0.4-0.10.30.80.90.1-0.1-0.40.0-0.30.10.7-0.3-0.50.20.1-0.1-1.2-1.0-0.4-2.91.2-0.11.4-0.3-1.51.5-3.00.41.21.0-0.70.90.2-2.41.1-0.51.01.30.2-1.10.91.40.30.10.30.80.20.1-0.50.10.1-0.2-0.60.1-0.50.6-0.3-0.30.4-1.3-1.90.51.4-0.4-1.20.70.61.2-0.10.9-0.10.1-0.90.2-0.10.2-0.10.60.5-0.10.4-0.51.10.40.1-0.00.70.00.00.00.3-0.00.80.1-0.4-0.4-0.20.40.70.20.2-0.4-1.0-1.00.50.11.2-0.4-0.10.10.80.00.40.1-0.10.50.30.3-0.10.40.1-0.60.31.2-0.80.2-0.40.60.7-0.50.30.10.30.90.2-0.5-0.0-0.1-0.6-1.60.70.00.4-2.10.51.41.70.3-0.90.6-0.00.9-0.4-0.1-0.60.4-0.4-0.8-3.6-3.1-0.5-4.4-1.45.1-2.94.5-3.6-1.0-7.84.9-5.9-10.0Fork
js
Plot.plot({
  padding: 0,
  x: {axis: null},
  y: {tickFormat: Plot.formatWeekday("en", "narrow"), tickSize: 0},
  fy: {tickFormat: ""},
  color: {scheme: "PiYG"},
  marks: [
    Plot.cell(dji, {
      x: (d) => d3.utcWeek.count(d3.utcYear(d.Date), d.Date),
      y: (d) => d.Date.getUTCDay(),
      fy: (d) => d.Date.getUTCFullYear(),
      fill: (d, i) => i > 0 ? (d.Close - dji[i - 1].Close) / dji[i - 1].Close : NaN,
      title: (d, i) => i > 0 ? ((d.Close - dji[i - 1].Close) / dji[i - 1].Close * 100).toFixed(1) : NaN,
      inset: 0.5
    })
  ]
})

The cell mark can be combined with the group transform, which groups data by ordinal value. (The bin transform, on the other hand, is intended for quantitative data and is typically paired with the rect mark.) The heatmap below shows the maximum observed temperature by month (y) and date (x) in Seattle from 2012 through 2015.

Fork
js
Plot.plot({
  padding: 0,
  y: {tickFormat: Plot.formatMonth("en", "short")},
  marks: [
    Plot.cell(seattle, Plot.group({fill: "max"}, {
      x: (d) => d.date.getUTCDate(),
      y: (d) => d.date.getUTCMonth(),
      fill: "temp_max",
      inset: 0.5
    }))
  ]
})

A one-dimensional cell is produced by specifying only x or only y. The plot below collapses the history of The Simpsons to a single line.

1111111111111111111111111111SeasonFork
js
Plot.plot({
  x: {
    ticks: simpsons.filter((d) => d.number_in_season === 1).map((d) => d.id),
    tickFormat: (x) => simpsons.find((d) => d.id === x).season,
    label: "Season",
    labelAnchor: "right",
    labelArrow: true
  },
  color: {
    type: "linear",
    scheme: "PiYG"
  },
  marks: [
    Plot.cell(simpsons, {x: "id", fill: "imdb_rating"})
  ]
})

INFO

Here the x-scale domain contains the id of every episode. An ordinal scale by default draws a tick for every domain value; setting ticks to just the first episode of each season prevents overlapping labels. The tickFormat function finds the row corresponding to the episode id and returns the corresponding season number.

One-dimensional cells can be a compact alternative to a bar chart, where the fill color of the cell replaces the length of the bar. However, position is a more salient encoding and should be preferred to color if space is available.

ABCDEFGHIJKLMNOPQRSTUVWXYZletterFork
js
Plot.cell(alphabet, {x: "letter", fill: "frequency"}).plot()

When ordinal data is regular, such as the yearly observations of the warming stripes below, use the interval scale option to enforce uniformity and show gaps for missing data. It can be set to a named interval such as hour or day, a number for numeric intervals, a d3-time interval, or a custom implementation.

186018801900192019401960198020002020Fork
js
Plot.plot({
  x: {
    ticks: d3.ticks(...d3.extent(hadcrut, (d) => d.year), 10),
    tickFormat: "d",
    interval: 1, // recommended in case of missing data
    label: null
  },
  color: {
    scheme: "BuRd"
  },
  marks: [
    Plot.cell(hadcrut, {x: "year", fill: "anomaly"})
  ]
})

TIP

When an ordinal scale domain has high cardinality, the ticks scale option can be used to specify which ticks to label. Alternatively, consider using a quantitative or temporal scale instead, as by switching to a bar mark.

Cell options

In addition to the standard mark options, including insets and rounded corners, the following optional channels are supported:

  • x - the horizontal position; bound to the x scale, which must be band
  • y - the vertical position; bound to the y scale, which must be band

If x is not specified, the cell will span the full horizontal extent of the plot (or facet). Likewise if y is not specified, the cell will span the full vertical extent of the plot (or facet). Typically either x, y, or both are specified; use a frame mark to decorate the plot’s frame.

The stroke defaults to none. The fill defaults to currentColor if the stroke is none, and to none otherwise.

cell(data, options)

js
Plot.cell(simpsons, {x: "number_in_season", y: "season", fill: "imdb_rating"})

Returns a new cell with the given data and options. If neither the x nor y options are specified, data is assumed to be an array of pairs [[x₀, y₀], [x₁, y₁], [x₂, y₂], …] such that x = [x₀, x₁, x₂, …] and y = [y₀, y₁, y₂, …].

cellX(data, options)

js
Plot.cellX(simpsons.map((d) => d.imdb_rating))

Equivalent to cell, except that if the x option is not specified, it defaults to [0, 1, 2, …], and if the fill option is not specified and stroke is not a channel, the fill defaults to the identity function and assumes that data = [x₀, x₁, x₂, …].

cellY(data, options)

js
Plot.cellY(simpsons.map((d) => d.imdb_rating))

Equivalent to cell, except that if the y option is not specified, it defaults to [0, 1, 2, …], and if the fill option is not specified and stroke is not a channel, the fill defaults to the identity function and assumes that data = [y₀, y₁, y₂, …].