datavizpyr.com's Avatar

datavizpyr.com

@datavizpyr.bsky.social

Data Analysis to Visualisation with Python and R. Tune in for two DataViz tips per day - one in Python and and the second in R

109 Followers  |  109 Following  |  20 Posts  |  Joined: 17.11.2024  |  2.0383

Latest posts by datavizpyr.bsky.social on Bluesky

Preview
How to make UMAP plot in R - Data Viz with Python and R Learn how to perform dimensionality reduction with UMAP using umap R package and make UMAP plot in R

UMAP with R datavizpyr.com/how-to-make-... #rstats

22.09.2025 17:57 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Retirement Calculator (Advanced Monte Carlo Simulation) A free retirement calculator using Monte Carlo simulation. Stress-test your savings against market volatility & visualize a range of outcomes

Nice use of Monte Carlo Simulation: Advanced Retirement Planning Calculator calclabhq.com/advanced-ret...

10.09.2025 16:02 β€” πŸ‘ 0    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Preview
ggplot2 4.0.0 A new major version of ggplot2 has been released on CRAN. Find out what is new here.

I am beyond excited to announce that ggplot2 4.0.0 has just landed on CRAN.

It's not every day we have a new major #ggplot2 release but it is a fitting 18 year birthday present for the package.

Get an overview of the release in this blog post and be on the lookout for more in-depth posts #rstats

11.09.2025 11:20 β€” πŸ‘ 847    πŸ” 282    πŸ’¬ 9    πŸ“Œ 51
Retirement Calculator (Advanced Monte Carlo Simulation) A free retirement calculator using Monte Carlo simulation. Stress-test your savings against market volatility & visualize a range of outcomes

Nice use of Monte Carlo Simulation: Advanced Retirement Planning Calculator calclabhq.com/advanced-ret...

10.09.2025 16:02 β€” πŸ‘ 0    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Preview
Top 10 ggplot2 Boxplot Examples - with ChatGPT Prompts & Code Explore 10 ggplot2 boxplot examples in R. Each includes a ChatGPT-ready prompt with R code to generate publication-quality plots instantly.

10 ChatGPT Prompts for ggplot2 Boxplots: Complete Guide with Working R Code datavizpyr.com/ggplot2-boxp... #DataViz #Prompt

08.09.2025 16:32 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
"Grouped Boxplot with Jittered Points in ggplot2: Complete Guide Learn how to create grouped boxplots with jittered data points in ggplot2. Complete tutorial with geom_boxplot, geom_jitter

Grouped Boxplot with jittered points: A Complete Guide datavizpyr.com/how-to-make-... #ggplot2 #rstats #dataviz

30.08.2025 06:10 β€” πŸ‘ 5    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0
Connect paired points in a scatter plot with lines using matplotlib/Seaborn in Python

Connect paired points in a scatter plot with lines using matplotlib/Seaborn in Python

Want to connect paired data points in a scatter plot using Matplotlib? This step-by-step tutorial shows you how to draw lines between paired observations so you can easily visualize before–after / them-now comparison datavizpyr.com/connect-pair... #dataviz #python

05.09.2025 17:00 β€” πŸ‘ 1    πŸ” 1    πŸ’¬ 0    πŸ“Œ 1
Connect Paired Points on Boxplots with Lines in ggplot2

Connect Paired Points on Boxplots with Lines in ggplot2

04.09.2025 14:33 β€” πŸ‘ 1    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
https://datavizpyr.com/how-to-connect-data-points-on-boxplot-with-lines/

How to Connect Paired Points on Boxplots with Lines in ggplot2 t.co/loNoE9avX1 #ggplot2 #dataviz

04.09.2025 14:33 β€” πŸ‘ 1    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0

#dataviz Area fill used to good effect in what would be an ordinary line graph πŸ‘

04.09.2025 02:52 β€” πŸ‘ 16    πŸ” 3    πŸ’¬ 0    πŸ“Œ 0

Yes both are great options.

04.09.2025 04:42 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
How to Remove Space between Legend at Bottom and x-axis in ggplot2 - Data Viz with Python and R Learn to reduce space between legend placed at bottom and x-axis using legend.margin

Remove "the annoying" Space between Legend at Bottom and x-axis in ggplot2 datavizpyr.com/remove-space... #rstats #dataviz

03.09.2025 18:42 β€” πŸ‘ 13    πŸ” 2    πŸ’¬ 1    πŸ“Œ 1
Preview
How to Create a Heatmap in Python with Seaborn (Step-by-Step Guide) - Data Viz with Python and R Learn How to Make Heatmaps in Python with Seaborn?

Guide to Heatmaps with Seaborn in Python. datavizpyr.com/heatmaps-wit... #DataViz #Python

02.09.2025 16:01 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Remove or Hide Legends in ggplot2 – Theme, Guides, Scales & Tips - Data Viz with Python and R Learn how to selectively remove one or more specific legends in a plot made with ggplot2 using guides() function

Selectively Remove or Hide Legends in ggplot2 datavizpyr.com/selectively-... #dataviz #rstats

02.09.2025 15:57 β€” πŸ‘ 5    πŸ” 4    πŸ’¬ 1    πŸ“Œ 1
Preview
"Grouped Boxplot with Jittered Points in ggplot2: Complete Guide Learn how to create grouped boxplots with jittered data points in ggplot2. Complete tutorial with geom_boxplot, geom_jitter

Grouped Boxplot with jittered points: A Complete Guide datavizpyr.com/how-to-make-... #ggplot2 #rstats #dataviz

30.08.2025 06:10 β€” πŸ‘ 5    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0
Preview
How to Wrap Long Legends into Multiple Rows/Columns in ggplot2 Learn how to fold long legend in ggplot2 into two or more rows using guides() function with guide_legend() argument.

How To Fold Legend into Multiple Rows/Columns in ggplot2 datavizpyr.com/fold-legend-... #rstats #dataviz

25.08.2025 14:30 β€” πŸ‘ 3    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
https://datavizpyr.com/ggplot2

ggplot2 Guide & Cookbook (R): Geoms, Scales, Labels, Themes, Facets t.co/ZRsgsRo4CL #rstats #dataviz

21.08.2025 15:33 β€” πŸ‘ 3    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Preview
ggplot2 Boxplot AI Workflows: A Modern Guide - Data Viz with Python and R Master the modern workflow for ggplot2 boxplots. This guide details the pros & cons of manual, AI-generated, and hybrid methods for creating insightful plots fast.

#ggplot2 Boxplot AI Workflows: A Modern Guide datavizpyr.com/ggplot2-boxp... #rstats #AIPrompt

20.08.2025 19:50 β€” πŸ‘ 1    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Preview
How to Rotate X-Axis Text Labels in ggplot2: Complete Guide Learn how to rotate x-axis text labels in ggplot2 using theme(), element_text(), and angle parameters. Complete tutorial with code examples

Rotate x-axis Text Labels in ggplot2 #rstats datavizpyr.com/rotate-x-axi...

19.08.2025 14:03 β€” πŸ‘ 4    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0
A room full of people looking at a presentation with two speakers. Contains text about the conference.

A room full of people looking at a presentation with two speakers. Contains text about the conference.

The full In-person program is out! The conference features three days of keynotes, tutorials, and talks to help you deepen your knowledge.

Schedule
user2025.r-project.org/program/in-p...

Get tickets
user2025.r-project.org/register

#useR #RStats

03.05.2025 15:37 β€” πŸ‘ 9    πŸ” 3    πŸ’¬ 0    πŸ“Œ 1
screenshot of the landing page on the site "Large Language Model tools for R". shows two screencaps from the simpsons

screenshot of the landing page on the site "Large Language Model tools for R". shows two screencaps from the simpsons

Sharing my "Large Language Model tools for R" guide with updates after new developments and a mention in the posit blog.

luisdva.github.io/llmsr-book/
- ggpal2
- pangoling
- more curated reading materials on coding with LLMs
# rstats

21.03.2025 19:46 β€” πŸ‘ 36    πŸ” 14    πŸ’¬ 1    πŸ“Œ 0
library(tidymodels)
library(textrecipes)

data("tate_text", package = "modeldata")

tate_split <- initial_split(tate_text)
tate_train <- training(tate_split)
tate_test <- training(tate_split)

rec <- recipe(~ medium, data = tate_train) |>
  step_tokenize(medium) |>
  step_tfidf(medium, sparse = "yes") |>
  prep()

bake(rec, tate_train, composition = "dgCMatrix") |> head()
#> 6 x 822 sparse Matrix of class "dgCMatrix"
#>   [[ suppressing 822 column names 'tfidf_medium_1', 'tfidf_medium_10' ... ]]
#>                                                                               
#> [1,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
#> [2,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
#> [3,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

bake(rec, tate_test, composition = "dgCMatrix") |> head()
#> 6 x 822 sparse Matrix of class "dgCMatrix"
#>   [[ suppressing 822 column names 'tfidf_medium_1', 'tfidf_medium_10' ... ]]
#>                                                                               
#> [1,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
#> [2,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
#> [3,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

library(tidymodels) library(textrecipes) data("tate_text", package = "modeldata") tate_split <- initial_split(tate_text) tate_train <- training(tate_split) tate_test <- training(tate_split) rec <- recipe(~ medium, data = tate_train) |> step_tokenize(medium) |> step_tfidf(medium, sparse = "yes") |> prep() bake(rec, tate_train, composition = "dgCMatrix") |> head() #> 6 x 822 sparse Matrix of class "dgCMatrix" #> [[ suppressing 822 column names 'tfidf_medium_1', 'tfidf_medium_10' ... ]] #> #> [1,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . #> [2,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . #> [3,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . bake(rec, tate_test, composition = "dgCMatrix") |> head() #> 6 x 822 sparse Matrix of class "dgCMatrix" #> [[ suppressing 822 column names 'tfidf_medium_1', 'tfidf_medium_10' ... ]] #> #> [1,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . #> [2,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . #> [3,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

One of the exciting parts of the new sparse data tidymodels work, is that {textrecipes} can now be used as a reproducible way to generate DTM, tf-idf etc etc
#rstats #tidymodels

21.03.2025 16:06 β€” πŸ‘ 7    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Preview
Shiny - chromote v0.5.0 With the latest chromote release, you can stay up to date with Chrome or pin your scripts to a specific version of Chrome easily.

πŸŽ‰ Happy to share that we just released {chromote} v0.5.0, an #RStats package for remotely driving the Chrome browser. New in this release: chromote can now download and use any version of Chrome or `chrome-headless-shell`! Plus a few bug fixes for new Chrome versions. shiny.posit.co/blog/posts/c...

21.03.2025 13:41 β€” πŸ‘ 46    πŸ” 5    πŸ’¬ 3    πŸ“Œ 0
Preview
Improved sparsity support in tidymodels The tidymodels ecosystem now fully supports sparse data as input, output, and in creation.

I'm beyond excited to share with you all that tidymodels now have sparsity support.

We now support sparse data during the whole process, generate data sparsely in recipes steps when your model supports spare data structures. and you don't have to change anything!

www.tidyverse.org/blog/2025/03...

19.03.2025 18:02 β€” πŸ‘ 57    πŸ” 12    πŸ’¬ 1    πŸ“Œ 1
Pointblank data validation in Python

Pointblank data validation in Python

We are thrilled to announce Pointblank for data validation in Python!

With Pointblank, you can check your data against expectations and constraints, get a beautiful report table, and examine detailed step results and metrics.

Learn more in the blog post: posit.co/blog/introdu...

#Python

18.03.2025 14:05 β€” πŸ‘ 40    πŸ” 11    πŸ’¬ 2    πŸ“Œ 2
The hex sticker for the gander package: a cartoonish goose swims on a green background with a blue 'reflection' below it. The Posit logo is in the corner.

The hex sticker for the gander package: a cartoonish goose swims on a green background with a blue 'reflection' below it. The Posit logo is in the corner.

Introducing gander, the AI-powered coding assistant that can describe objects in your #RStats environment!

gander provides detailed data descriptions directly to LLMs for more accurate coding assistance.

Explore the motivation and see an example in @simonpcouch.com's post: posit.co/blog/introdu...

17.03.2025 14:06 β€” πŸ‘ 65    πŸ” 17    πŸ’¬ 4    πŸ“Œ 5

We don't spend a penny on marketing. It's all word of mouth for @costplusdrugs.com

That's how we keep prices so low. Please spread the word !

14.03.2025 03:32 β€” πŸ‘ 34398    πŸ” 9177    πŸ’¬ 994    πŸ“Œ 340
Preview
Python Developer Tooling Handbook

πŸ‘‹πŸ»

In the last 10 years, I’ve had a growing interest in making Python development more effective. I’ve learned that a lot of teams don’t make the best use of the tooling available to use.

This has culminated with writing an ebook on developer tooling I’m excited to share with you.

pydevtools.com

12.03.2025 23:27 β€” πŸ‘ 98    πŸ” 16    πŸ’¬ 3    πŸ“Œ 3
Horizon chart showing ratings of Power Rangers over time, with colours chosen to reflect the characters

Horizon chart showing ratings of Power Rangers over time, with colours chosen to reflect the characters

Stream chart showing the use of different words in horror tale descriptions, with many relating to women and children.

Stream chart showing the use of different words in horror tale descriptions, with many relating to women and children.

gif showing the process of scrolling through a scrollytelling visualisation abou English monarchs

gif showing the process of scrolling through a scrollytelling visualisation abou English monarchs

3x2 grid of abstract maps of Edinburgh and Glasgow showing elevation, streets, and buildings

3x2 grid of abstract maps of Edinburgh and Glasgow showing elevation, streets, and buildings

I'm super happy to see that several of my data visualisation projects were long-listed at the 2024 Information is Beautiful Awards! πŸ“Š

#RStats #DataViz #ggplot2 #RSpatial #TidyTuesday

11.03.2025 12:22 β€” πŸ‘ 165    πŸ” 7    πŸ’¬ 9    πŸ“Œ 1

@datavizpyr is following 18 prominent accounts