need support? Email ggirl@jnolis.com
This package is a platform for taking ggplot2 objects and getting real life versions of them. Tired of saving your plots with the plain 'ol ggsave()
function? Try this package instead!
The mediums in this package that you can choose from will change over time. Currently available are ggwatercolor(), ggartprint(), and ggpostcard(). This package can only mail physical items to addresses in the United States.
ggpostcard()
will take your ggplot2 object and will mail a postcard with it to the address of your choice! Great for friends and colleagues (or maybe holiday cards??). You can specify a single address or many addresses to mail to, and you can customize the message on the back. If you send postcards to many people, you can customize the backs for each recipient if you so chose. Each postcard costs $2.50 to send.
ORIGINAL GGPLOT2 PLOT | A REAL LIFE POSTCARD |
---|---|
First, install the package with:
# install.packages("remotes") # if you don't already have it
remotes::install_github("jnolis/ggirl")
Then create a plot you like:
library(ggplot2)
plot <- ggplot(data.frame(x=1:10, y=runif(10)),aes(x=x,y=y)) + geom_line() + geom_point()
Now let's ship it! Specify your email address (for order updates), address to mail to, and the message to put on the back:
library(ggirl)
contact_email <- "fakeemailforreal@gmail.com"
send_address_1 <- address(name = "Fake Personname", address_line_1 = "250 North Ave",
city = "Boston", state = "MA",
postal_code = "22222", country = "US")
message_1 <- "This plot made me think of you!"
ggpostcard(plot, contact_email, messages = message_1, send_addresses = send_address_1)
(You can include multiple recipients too and customize the return address--check out the function help for more details.)
This will pop up a web page showing you what the order will look like. If both the front picture and back info look good to you click the button to make the payment and submit the order.
This will bring you to Stripe to finish the purchase.
And you're done! Postcards will arrive in around 1-2 weeks.
Included in ggirl::ggpostcard functionality are a few plots that are ready for you to try!
You can use ggirl::ggpostcard_example_sunrise()
to make a postcard of sunrise and sunset locations for a city. It defaults to Seattle, WA, but you can use any location (check the documentation for requirements). It takes a minute or so to query the sunrise/sunset api:
library(ggirl)
contact_email <- "fakeemailforreal@gmail.com"
send_addresses <- address(name = "Fake Personname", address_line_1 = "250 North Ave",
city = "Boston", state = "MA",
postal_code = "22222", country = "US")
messages <- "Look at this cool plot I found!"
plot <- ggpostcard_example_sunrise()
ggpostcard(plot = plot,
contact_email = contact_email,
send_addresses = send_addresses, messages = messages)
You can use ggirl::ggpostcard_example_contouR()
to make a postcard of the generative art of @Ijeamakaanyene. Check the help function on how to change the colors of the plot.
library(ggirl)
contact_email <- "fakeemailforreal@gmail.com"
send_addresses <- address(name = "Fake Personname", address_line_1 = "250 North Ave",
city = "Boston", state = "MA",
postal_code = "22222", country = "US")
messages <- "Look at this cool plot I found!"
plot <- ggpostcard_example_contouR()
ggpostcard(plot = plot,
contact_email = contact_email,
send_addresses = send_addresses, messages = messages)
You can use ggirl::ggpostcard_example_rstereogram()
to make a postcard of a stereogram of an image using the rstereogram package by @ryantimpe. It defaults to the R logo but you can pass it any PNG file. Check the documentation for best practices around that, and if you're having trouble seeing the image you may need to zoom in on your monitor.
library(ggirl)
contact_email <- "fakeemailforreal@gmail.com"
send_addresses <- address(name = "Fake Personname", address_line_1 = "250 North Ave",
city = "Boston", state = "MA",
postal_code = "22222", country = "US")
messages <- "Look at this cool plot I found!"
plot <- ggpostcard_example_rstereogram()
ggpostcard(plot = plot,
contact_email = contact_email,
send_addresses = send_addresses, messages = messages)
From left to right: ggartprint_example_map plot, Palmer Penguin data, and ggplot2 art by @ijeamakaanyene.
With ggartprint()
you can order a beautiful art print to be mailed to you! The prints are on archival photo-rag paper and come in a number of sizes from "cute and small" to "large and centerpiece of a room"
First, install the package with:
# install.packages("remotes") # if you don't already have it
remotes::install_github("jnolis/ggirl")
Then create a plot you like:
library(ggplot2)
plot <- ggplot(data.frame(x=1:10, y=runif(10)),aes(x=x,y=y)) +
geom_line() + geom_point() + theme_gray(48)
Now let's order the prints! You'll need to specify your email address and the physical address to mail to. You'll also need to specify the size (ex: "11x14"), the orientation (ex: "portrait"), and quantity (typically 1).
library(ggirl)
delivery_address <- address(name = "Fake person", address_line_1 = "101 12th st",
address_line_2 = "Apt 17", city = "Seattle", state = "WA",
postal_code = "98102", country = "US")
contact_email = "fakeemail275@gmail.com"
ggartprint(plot, size="11x14", orientation = "landscape", quantity = 1,
contact_email = contact_email, address = delivery_address)
This will open a web page to preview the art print. if you like how it looks you can submit the order and pay via Stripe.
And you're done! Art prints will arrive in around 2-3 weeks.
Try making a map! With ggartprint_example_map()
you can make a map that would cost you twice as much from a non-R based tool. This uses the osmdata
package to get data from Open Street Maps, and is based on a tutorial by Joshua McCrain.
library(ggirl)
contact_email <- "fakeemailforreal@gmail.com"
delivery_address <- address(name = "Fake Personname", address_line_1 = "250 North Ave",
city = "Boston", state = "MA",
postal_code = "22222", country = "US")
plot <- ggartprint_example_map("Seattle", "Washington")
# use the background option to avoid white boundaries
ggartprint(plot, background = "#FEFDF7", size = "11x14", orientation = "portrait",
contact_email = contact_email,
address = delivery_address))
ORIGINAL GGPLOT2 PLOT | A REAL LIFE WATERCOLOR |
---|---|
With ggwatercolor()
you have a hand-painted watercolor painting of your ggplot2. These paintings are done
on heavy cold-pressed 8"x10" watercolor paper with lightfast paints, meaning your beautiful watercolor will withstand
the test of time.
First, install the package with:
# install.packages("remotes") # if you don't already have it
remotes::install_github("jnolis/ggirl")
Then create a plot you like:
library(ggplot2)
plot <- ggplot(data.frame(x=1:10, y=runif(10)),aes(x=x,y=y)) +
geom_line() + geom_point() + theme_gray(48)
Then to request the commission! The ggwatercolor()
function can be called to do so. Just specify the plot,
the orientation, a contact email, and the address to mail the commission to.
library(ggirl)
delivery_address <- address(name = "Fake person", address_line_1 = "101 12th st",
address_line_2 = "Apt 17", city = "Seattle", state = "WA",
postal_code = "98102", country = "US")
contact_email = "fakeemail275@gmail.com"
ggartprint(plot, orientation = "landscape", contact_email = contact_email, address = delivery_address)
This will open a web page to preview the watercolor. If you like it, you can request the commission, and in a few days you'll get an email with details about the commission and request for payment.
The email will include the price, between $100-$175 depending on the complexity of the picture, and a link to pay. If the plot is complex it may also need to be simplified by the artist. After payment, the commission should be complete in up to 4 weeks.
If you think this package is interesting you can help in multiple ways! Maybe you have an R package that could call one of these functions! Maybe you could come up with a new form of fulfillment, like making plots out of clay! Email ggirl@jnolis.com to discuss it.
Thanks to:
- @nolistic and @robinsones for helping design the product.
- The ggpostcard beta testers: @cxinya, @delabj, @thisisnic, @TheCoachEdwards, @ryantimpe, @robinsones, @mcsiple, and @cathblatter.
- @ColinFay for the package {brochure} which powers the Shiny server doing the back-end work.
- @Ijeamakaanyene for the use of the contouR example and beta testing ggartprint.
- @ryantimpe for the use of the rstereogram example.
- sunrise-sunset.org for the API powering the sunrise example.
- Joshua McCrain for the tutorial used for the map example.
- The R Foundation for the R logo in the ggpostcard_example_rstereogram().