The glow effect in the R plot might be one of those adjustments that someone uses rarely. Meanwhile, neon luminescence adds a special feel to the diagram. Almost like from sci-fi movie. Here is how to add the glow effect in the R plot by using two solutions.
By the way, here is an example of how to get the same effect in Excel.

In this post, I used Bitcoin price data with the help of the coindeskr package. Here is how it looks in a simple line chart without special formatting.
require(coindeskr) btc <- get_historic_price(start = "2017-01-01") ts.plot(btc) btc$Date <- as.Date(row.names(btc))

Add glow effect in R using ggshadow package
The glow effect is similar to a shadow directly behind data points. Meanwhile, the ggshadow package has something directly related to glowing. There is a ton of possibilities to work with other types of plots and effects that you can find in the vignette.
In addition, I will use theme_solarized_2 from the ggthemes. Neon luminescence looks better on the dark background.
require(ggshadow)
require(ggplot2)
require(ggthemes)
ggplot(btc, aes(x = Date, y = Price)) +
geom_glowline(color = "gold", shadowcolour = "orange") +
scale_y_continuous(
labels = function(x)
format(x, big.mark = " ", scientific = FALSE)
) +
theme_solarized_2(light = FALSE) +
theme(panel.grid.major = element_blank(),
panel.grid.minor = element_blank()) +
ggtitle("BTC price")
Argument shadowcolor, by default, comes in the same color as the line, but you can specify another one as I did. You can change the size of the glow with shadowsize and shadowalpha.
ggplot(btc, aes(x = Date, y = Price)) +
geom_glowline(
color = "gold",
shadowcolour = "orange",
shadowsize = 0.9,
shadowalpha = 0.03
) +
scale_y_continuous(
labels = function(x)
format(x, big.mark = " ", scientific = FALSE)
) +
theme_solarized_2(light = FALSE) +
theme(panel.grid.major = element_blank(),
panel.grid.minor = element_blank()) +
ggtitle("BTC price")
Here you can find out more about other adjustments and variations with the glow effect by using the ggshadow package.
Add glow effect in R using ggfx package
You can use the glow effect by using the ggfx package in combination with ggplot2. You can get a little bit different result compared with the ggshadow, and in a good way. The glow looks a little bit closer to natural.
require(ggfx)
require(ggplot2)
require(ggthemes)
ggplot(btc, aes(x = Date, y = Price)) +
with_outer_glow(
geom_line(color = "gold"),
colour = "orange",
sigma = 10,
expand = 0.7
) +
scale_y_continuous(
labels = function(x)
format(x, big.mark = " ", scientific = FALSE)
) +
theme_solarized_2(light = FALSE) +
theme(panel.grid.major = element_blank(),
panel.grid.minor = element_blank()) +
ggtitle("BTC price")
There are multiple possibilities to customize glow, for example, from inner to outer glow. You can do that even for data labels. If you like a result that looks more crisper than the previous one, try shadow without offset like this.
ggplot(btc, aes(x = Date, y = Price)) +
with_shadow(
geom_line(color = "gold"),
colour = "orange",
x_offset = 0,
y_offset = 0,
sigma = 10
) +
scale_y_continuous(
labels = function(x)
format(x, big.mark = " ", scientific = FALSE)
) +
theme_solarized_2(light = FALSE) +
theme(panel.grid.major = element_blank(),
panel.grid.minor = element_blank()) +
ggtitle("BTC price")
Here you can find out more about other adjustments and variations with the glow effect by using the ggfx package.
Additional ideas for R plots
It is worth mentioning the glow package as a third option to try in visualizations with a glow effect. I found it not so easy to use, but worth trying.
Look at other visualizations in this blog made using R. For example, gradient line chart and gradient word cloud.

Leave a Reply