Sign in

Louis M Penrod

@louismpenrod.bsky.social
20 followers 21 following 39 posts
PostsRepliesMedia
Louis M Penrod @louismpenrod.bsky.social · 22/04/2026
#30DayChartChallenge #Day22 – New Tool: Only work-adjacent chart I plan on making for the challenge. An interactive sunburst chart using D3.js showing PK sample attrition across three simulated clinical studies. Shiny (best on desktop): tinyurl.com/6bf3puth #DataViz #Rstats 1/4
192
Louis M Penrod @louismpenrod.bsky.social · 15/04/2026
#30DayChartChallenge #Day15 – Correlation: Not your typical scatterplot showing correlation, but a heatmap showing the association between cranial spine expression and fish family. 1/3 #DataViz #Rstats
A heatmap titled "Cranial Spine Expression in Fishes." The x-axis shows fish families arranged by phylogenetic relatedness, with labels removed. The y-axis shows cranial spine positions grouped by region, with dashed red lines separating spine groups and labels showing only the first spine in each group. Cell brightness encodes the percentage of species per family expressing each spine, ranging from dark (0%) to white (100%), on a black background. A continuous legend runs along the bottom. Annotations in red explain the dashed group separators and that each row within a group represents a unique spine expression. Families arranged by phylogenetic relatedness reveal that some closely related families share similar expression profiles while neighboring families on the tree can differ substantially.
161
Louis M Penrod @louismpenrod.bsky.social · 14/04/2026
#30DayChartChallenge #Day14 – Trade: Chord diagrams showing live wildlife trade flows in and out of the US by taxonomic class, using CITES data from 2018–2022. Each diagram shows trade among the top trading countries + US (if not one of the top traders). Shiny: tinyurl.com/6bf3puth #DataViz #Rstats
A 3×3 grid of chord diagrams showing live wildlife trade flows among top trading countries for nine taxonomic classes reported to CITES between 2018 and 2022: Actinopteri, Amphibia, Anthozoa, Arachnida, Aves, Bivalvia, Elasmobranchii, Mammalia, and Reptilia. Each diagram highlights the United States in orange-red, with orange chords representing US imports and teal chords representing US exports. Other countries are shown in gray. The US appears as a major node across most classes. Notable patterns include a low proportion of US imports for Actinopteri (bony fish), a high import dominance for Arachnida, and a relatively balanced import-export profile for Reptilia.
0123
Louis M Penrod @louismpenrod.bsky.social · 13/04/2026
#30DayChartChallenge #Day13 – Ecosystems. Well, a digital ecosystem. Radial plots of the relative abundance of monsters in the Stardew Valley mines per zone. Each zone has its unique "ecosystem" composed of different organisms that appear at different rates. #DataViz #Rstats
Four radial bar charts arranged vertically, each representing one zone of the Stardew Valley mines: Brown, Gray, Frozen, and Lava. Each chart shows the relative frequency of monster types found in that zone, with bars radiating outward from the center. A pixel art image of each monster type sits at the tip of its corresponding bar. An example level from the game shown next to each plot. The charts reveal how the monster community composition shifts as you descend deeper into the mines.
2124
Louis M Penrod @louismpenrod.bsky.social · 12/04/2026
#30DayChartChallenge #Day12 – Theme Day: Flowing Data. A dumbbell plot of fishing mortality vs. the maximum sustainable yield for stocks assessed by ICES. Themed with several aesthetics I see across the plots in FlowingData. Shiny: tinyurl.com/6bf3puth #DataViz #Rstats
A horizontal dumbbell plot showing fishing mortality (F, solid circle) versus target fishing mortality (F[MSY], open circle) for multiple fish stocks assessed by ICES. Stocks are grouped along the y-axis by species type — groundfish, pelagics, and forage fish — with individual stocks of the same species stacked together but not individually labeled. Stocks where current F exceeds F[MSY] are colored red, indicating overfishing; those at or below target are blue. No strong pattern is visible across most species groups, but nearly all cod stocks appear in red, indicating widespread overfishing across cod populations.
291
Louis M Penrod @louismpenrod.bsky.social · 11/04/2026
#30DayChartChallenge #Day11 – Physical: A line plot of stage height in surface and ground water in the St. Johns WMD during Hurricane Irma. Line intensity encodes the station's proximity to the storm's path. 1/2 #DataViz #Rstats
A line plot showing water stage height over time for multiple surface water (blue) and groundwater (brown) monitoring stations in the St. Johns Water Management District during Hurricane Irma. Line opacity varies by each station's proximity to the hurricane's path, with bolder lines indicating closer stations. An annotation explains the fading line intensity. A second annotation highlights one surface water station that rises sharply before the storm's arrival due to upstream flood control releases. Both surface and groundwater levels remain elevated for several weeks after the storm passes.
131
Louis M Penrod @louismpenrod.bsky.social · 10/04/2026
#30DayChartChallenge #Day10 – Pop Culture: Do Pokémon follow the same scaling rules as real birds? A scatterplot of weight vs. wingspan shows Pokémon scale similarly to real birds, just bigger. The theming was the real focus to elevate a simple scatterplot. Gotta plot 'em all. #DataViz #Rstats
A scatterplot comparing weight versus wingspan for real birds and Pokémon. Real bird data points are shown as black dots, while Pokémon are represented as Pokéballs. Both groups follow a similar positive scaling relationship between weight and wingspan, but Pokémon tend to be larger overall. The chart is styled to look like a Pokédex, with a red and black color scheme and retro display aesthetic.
1101
Louis M Penrod @louismpenrod.bsky.social · 09/04/2026
#30DayChartChallenge #Day9 –Wealth: Breakdown of Nike Revenue into its components as % of revenue. I was hoping for a more detailed and longer record of marketing data to investigate a personal hypothesis, but this data still has some interesting findings. #DataViz #Rstats
Line chart showing Nike's Gross Profit Margin (GPM) and Selling, General & Administrative expenses (SG&A) as a percentage of revenue from FY2011 onwards. Three filled areas divide the chart: the area above the GPM line is filled and labeled "Cost of Goods Sold"; the area between the GPM and SG&A lines is labeled "Operating Profit & Business Expenses"; and the area below the SG&A line is labeled "Selling (incl. Marketing), General, & Administration." The SG&A line runs below the GPM line throughout the series, with one annotated exception where SG&A briefly exceeds GPM. The x-axis shows fiscal years from 2011 onwards and the y-axis shows percentage of revenue from 0 to 100%.
131
Louis M Penrod @louismpenrod.bsky.social · 08/04/2026
#30DayChartChallenge #Day8 – Circular: Always thought the three PADI dive planning tables would look interesting graphically given the data and models behind them. Can't say I'm 100% happy with it, but it is a starting point. 1/2 #DataViz #Rstats
Three circular diagrams reimagining the PADI repetitive dive planning tables, using a consistent color scheme tied to pressure group letters throughout all three. Instructions at the top explain how to use them. The first diagram determines a diver's pressure group after an initial dive based on depth and bottom time, with pressure group letters labeled on the output. The second diagram tracks nitrogen off-gassing during surface intervals, showing how a diver moves between labeled pressure groups over time. The third diagram determines the Residual Nitrogen Time (RNT) for a repetitive dive based on the diver's pressure group and planned depth, with both starting pressure groups and RNT values labeled. All three diagrams use the same color palette mapped to pressure group letters, allowing visual continuity across the planning workflow.
1121
Louis M Penrod @louismpenrod.bsky.social · 07/04/2026
#30DayChartChallenge #Day7 – Multiscale: Interactive map of US agricultural land change from 2017-2022. Nearly every state saw a net loss in farmland over those 5 years. In the Shiny app, click any state to drill down to county-level data, where the story gets much more variable. 1/2
182
Louis M Penrod @louismpenrod.bsky.social · 06/04/2026
#30DayChartChallenge #Day6 – Data Day: Reporters Without Borders. Are countries that protect their press also more likely to protect their environment? To find out, I plotted the RSF Press Freedom Index against the Yale Environmental Performance Index. Data: RSF & Yale EPI. #DataViz #Rstats
Scatterplot with RSF Press Freedom Index on the y-axis (higher = more press freedom) and Yale Environmental Performance Index on the x-axis (higher = better environmental performance). Each data point is represented by a country's flag. The chart is divided into four quadrants using the median of each axis: top-right contains countries with high press freedom and strong environmental performance; top-left shows high press freedom but weaker environmental scores; bottom-right shows strong environmental performance but lower press freedom; bottom-left contains countries with lower scores on both measures. Country flag icons are used in place of traditional dots. There is a correlation of r = 0.67 suggesting countries that protect their press also protect their environment.
1121
Louis M Penrod @louismpenrod.bsky.social · 05/04/2026
#30DayChartChallenge #Day5 – Experimental Diet overlap of some predatory fishes in Florida. I've wanted to make something like this for a while. Admittedly, the data is not the best, but what I could pull together for the challenge. The concept is what I want to present. 1/3 #DataViz #Rstats
Eulerr diagrams set up in a matrix arrangement showing diet overlap of predatory fishes in Florida. The size of the circle shows the size of the diet (scaled to the max diet size so the circle size is the same across plot for the same species). The overlap shows the proportion of prey shared. Very little overlap among species but that is a data shortage issue.
1313
Louis M Penrod @louismpenrod.bsky.social · 04/04/2026
#30DayChartChallenge #Day5 – Slope A line plot of the contestant tap-outs through time by season on the survivalist show Alone. Seasons vary with location differences and contestant experience, making it hard to compare, but this helps identify outlier seasons. #DataViz #Rstats 1/2
A line plot of the contestant tap-outs through time by season on the survivalist show Alone (US produced version with season 4 excluded as that was pairs). This shows the draw-down from 10 contestants to 1. Season 7 has the only contestant to make it to 100 days. The seasons has an annotation "Roland Welker, 'The 100 Day King', survived -40°F and knifed a musk ox." The newest season (season 12) was in Africa and has the annotation "S12: Africa lasted just 34 days. Heat, unfamiliar terrain, or under-vetted contestants?" Data is from the {alone} R package.
183
Louis M Penrod @louismpenrod.bsky.social · 03/04/2026
#30DayChartChallenge #Day3 – Mosaic US aquaculture production by type and region in terms of sales ($). The {merimekko} R package made this very easy to create. Shiny: tinyurl.com/6bf3puth #DataViz #Rstats
Mosaic plot showing US census region on the x-axis and aquaculture group (baitfish, food fish, sport fish, ornamental fish, crustaceans, mollusks, and other) on the y-axis as filled rectangles. Rectangles are sized to the sales values ($) per region and type. The South region has the largest width with food fish dominating within the region. Next widest is the West which is primarily mollusks. The Northeast is also dominated by mollusks. Finally, the Midwest is mostly food fish, but baitfish takes a higher percentage than in other regions.
081
Louis M Penrod @louismpenrod.bsky.social · 02/04/2026
#30DayChartChallenge #Day2 – Pictogram Pictogram of the oyster reef acreage restored by the NOAA Restoration Center. Each Oyster = 10 acres. Shucks, oysters are probably not the best thing to make into pictograms since they are a bit blobby, but oh well! #DataViz #Rstats
Pictogram showing oyster reef restoration in acres by region. Each oyster = 10 acres. The Northeast dominates with more than all other regions combined. Southeast follows. The Northwest and Southwest have <= 20 acres each.
171
Louis M Penrod @louismpenrod.bsky.social · 01/04/2026
#30DayChartChallenge #Day1 – Part-to-Whole Pie chart of 2022 commercial fisheries landing by region overlaid with an illustration of a cast net. The N. Pacific region (Alaska) dominates with landings being larger than all other regions combined. Shiny: tinyurl.com/6bf3puth #DataViz #Rstats
091
Louis M Penrod @louismpenrod.bsky.social · 31/03/2026
April begins tomorrow which means so does the #30DayChartChallenge. This will be my first year participating. You can follow along here, where I'll be sharing my creations, or on the Shiny app (tinyurl.com/6bf3puth) I made to keep them all in one place. #DataViz #Rstats
161