Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

Reply
BLPYPL
New Member

R text sizing Bug

Hi, 

The text sizing in R seems to incorrect recently. Can anyone help?

 

I'm using custom R visuals. I simply use "plot" and "text" to plot some text. I use parameter "cex" in "text". It works in Power BI desktop and R studio, but the text shows really small in Power BI service.

10 REPLIES 10
v-juanli-msft
Community Support
Community Support

Hi @BLPYPL@Anonymous

There was a bug fix a little while ago that appears to have unintentionally led to this regression. We already know the fix, we can start right away on getting it deployed, though it may take a little while.

In the meantime if this is causing issues, there is a workaround. You can add the following lines to the beginning of your R script:

if (exists("powerbi_rFontName")){
  library("showtext")
  showtext.opts(dpi = powerbi_rPngDeviceDpi)
  showtext.auto()
}

I created a PBIX with 2 R visuals, 1 without the fix and one with. I’ve pasted below 2 screenshots I took: one of the visuals in PBI Desktop, and another of the same pbix once published to service. Once the fix is deployed, these lines can be removed, but they should not cause any issues if you leave them.
 
Best Regards
Maggie

Hi Maggie,

 

I tried this solution and it works for me. Please keep me updated when the bug is fixed.

Anonymous
Not applicable

Hi Maggie,

Unfortunately this work around does not work with both my production and test code.

Below you can find my test code:

 

if (exists("powerbi_rFontName")){
library("showtext")
showtext.opts(dpi = powerbi_rPngDeviceDpi)
showtext.auto()
}

library(grid)
library(gridExtra)

d <- head(iris, 3)
g <- tableGrob(d)

find_cell <- function(table, row, col, name="core-fg"){
l <- table$layout
which(l$t==row & l$l==col & l$name==name)
}
for(i in 2:4){
for(j in 2:6){
index_fg <- find_cell(g, i, j, "core-fg")
g$grobs[index_fg][[1]][["gp"]] <- gpar(cex = 4, col = "green")
}
}

grid.newpage()
grid.draw(g)

@Anonymous, your issue seems to be a separate problem than what other people are facing. Did this use to work in PBI Service? From my initial testing it doesn't seem to work in PBI Desktop either (though I see expected behavior in RStudio).

Edit: @Anonymous actually it does work (:
In your first post you had the plotting with "cex = i*j"
And in your follow-up with our provided fix you have it with "cex = 4"
I copied one script into my local PBI Desktop and the other into my RStudio, thinking they were identical except for the workaround, and was very confused!
Please try in service with actual changing text size, you'll see it!

Thanks,
Lucas

Anonymous
Not applicable

Hi Lucas,

Thanks for your support.

While creating a reply to your request the work-around started to work.

To be honest, it is working only with the test code, not with the production one.

 

I'll let you know if I will be able to fix also the production environment.

Here below the working test code (same as yesterday...)

 

if (exists("powerbi_rFontName")){
library("showtext")
showtext.opts(dpi = powerbi_rPngDeviceDpi)
showtext.auto()
}

library(grid)
library(gridExtra)

d <- head(iris, 3)
g <- tableGrob(d)

find_cell <- function(table, row, col, name="core-fg"){
l <- table$layout
which(l$t==row & l$l==col & l$name==name)
}
for(i in 2:4){
for(j in 2:6){
index_fg <- find_cell(g, i, j, "core-fg")
g$grobs[index_fg][[1]][["gp"]] <- gpar(cex = 4, col = "green")
}
}

grid.newpage()
grid.draw(g)

Anonymous
Not applicable

Hi @LucasPritz,
I've finally found the problem with my production code.

While the test code I've shared contains the following command, it is missing in my production code.

 

grid.newpage()

 

I've added this command in my production code and now it correctly works.

I do not understand why the use of grid.newpage() is mandatory, but now the work-around works and it is the important thing!

BLPYPL
New Member

We are using some of the custom R visuals in Power BI. The text size in R seems to not working since today. The size become really small and you can hardly see it. It works fine on both Power BI desktop and my R studio. It didn't turn out to be this way sometime ago. Can someone tell me how to work around this issue?

 

I simply use plot function and text function. I use CEX to set the text sizing.

BLPYPL
New Member

Here is the code to reproduce the bug:

1. Create a Power BI report and R visual

2. paste following code:

.text="testing%"
par(mar = c(0,0,0,0),bg=NA,cex=3.5)
plot(c(0, 1), c(0, 1),ann = F,asp=1, bty = 'n', type = 'n', xaxt = 'n', yaxt = 'n')

text(x = 0.5, y = 0.2, .text,
col = "red")

3. Publish it to Power BI service

4.Compare the desktop and service version. You will see the text sizing is not correct in the service

 

I've tried serveral parameters, such as cex, ps, but none seems to work. Can anyone help?

Hi @BLPYPL

Thank you for such detailed information, I can reproduce the issue and I am checking with engineer whether it is a bug and when and how to fix it.

I will come back to tell you if there is any update.

 

Best Reagrds

Maggie

Anonymous
Not applicable

Hi,
Same issue here.

We have first noticed the problem on 26 june.

I attach a sample code to reproduce the issue; a curious fact is that the problem does not affect the text colour!

 

library(grid)
library(gridExtra)

d <- head(iris, 3)
g <- tableGrob(d)

find_cell <- function(table, row, col, name="core-fg"){
l <- table$layout
which(l$t==row & l$l==col & l$name==name)
}
for(i in 2:4){
for(j in 2:6){
index_fg <- find_cell(g, i, j, "core-fg")
g$grobs[index_fg][[1]][["gp"]] <- gpar(cex = i*j, col = "green")
}
}

grid.newpage()
grid.draw(g)

Helpful resources

Announcements
Europe Fabric Conference

Europe’s largest Microsoft Fabric Community Conference

Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.

Power BI Carousel June 2024

Power BI Monthly Update - June 2024

Check out the June 2024 Power BI update to learn about new features.

PBI_Carousel_NL_June

Fabric Community Update - June 2024

Get the latest Fabric updates from Build 2024, key Skills Challenge voucher deadlines, top blogs, forum posts, and product ideas.

Top Solution Authors