Forum Discussion
R script visual not working in Service
- Anonymous7 years ago
Hi paltus ,
According to error message, it sounds like data format not recognized correctly on power bi service. You can refer to following link to use 'as.Date' or 'as.POSIXlt' functions to convert these date values :
library(ggplot2) dfr <- dataset dfr$day <- factor(strftime(as.POSIXlt(dfr$Date,format = "%Y-%d-%m"),format="%A"),levels=c("Sunday","Saturday","Friday","Thursday","Wednesday","Tuesday","Monday")) dfr$week <- factor(strftime(as.POSIXlt(dfr$Date,format = "%Y-%d-%m"),format="%V")) dfr$month <- factor(strftime(as.POSIXlt(dfr$Date,format = "%Y-%d-%m"),format="%B"),levels=c("January","February","March","April","May","June","July","August","September","October","November","December")) dfr$ddate <- factor(strftime(as.POSIXlt(dfr$Date,format = "%Y-%d-%m"),format="%d")) # plot p <- ggplot(dfr,aes(x=week,y=day))+ geom_text(aes(label=paste(ddate,sep =" ")))+ scale_fill_manual(values=c("#8dd3c7","#ffffb3","#fb8072","#d3d3d3"))+ facet_grid(~month,scales="free",space="free")+ labs(x="Week",y="")+ theme_bw(base_size=12)+ theme(legend.title=element_blank(), panel.grid=element_blank(), panel.border=element_blank(), axis.ticks=element_blank(), strip.background=element_blank(), legend.position="top", legend.justification="right", legend.direction="horizontal", legend.key.size=unit(0.4,"cm"), legend.spacing.x=unit(0.3,"cm")) plot(p)Regards,
Xiaoxin Sheng
Hi paltus ,
According to error message, it sounds like data format not recognized correctly on power bi service. You can refer to following link to use 'as.Date' or 'as.POSIXlt' functions to convert these date values :
library(ggplot2)
dfr <- dataset
dfr$day <- factor(strftime(as.POSIXlt(dfr$Date,format = "%Y-%d-%m"),format="%A"),levels=c("Sunday","Saturday","Friday","Thursday","Wednesday","Tuesday","Monday"))
dfr$week <- factor(strftime(as.POSIXlt(dfr$Date,format = "%Y-%d-%m"),format="%V"))
dfr$month <- factor(strftime(as.POSIXlt(dfr$Date,format = "%Y-%d-%m"),format="%B"),levels=c("January","February","March","April","May","June","July","August","September","October","November","December"))
dfr$ddate <- factor(strftime(as.POSIXlt(dfr$Date,format = "%Y-%d-%m"),format="%d"))
# plot
p <- ggplot(dfr,aes(x=week,y=day))+
geom_text(aes(label=paste(ddate,sep ="
")))+
scale_fill_manual(values=c("#8dd3c7","#ffffb3","#fb8072","#d3d3d3"))+
facet_grid(~month,scales="free",space="free")+
labs(x="Week",y="")+
theme_bw(base_size=12)+
theme(legend.title=element_blank(),
panel.grid=element_blank(),
panel.border=element_blank(),
axis.ticks=element_blank(),
strip.background=element_blank(),
legend.position="top",
legend.justification="right",
legend.direction="horizontal",
legend.key.size=unit(0.4,"cm"),
legend.spacing.x=unit(0.3,"cm"))
plot(p)
Regards,
Xiaoxin Sheng
Hi, Anonymous
Thank You for Your advice.
Everything now works fine, when i use only dates, but when i try to add measure i get an error.
dataset example:
Data CR
2019-01-01 50000
2019-01-03 60000
2019-01-02 40000
2019-01-04 30000
2019-01-05 21000
In service i get only Data, not Data + CR
If i write geom_text like this:
Then i get error: Aesthetics must be either length 1 or the same as the data (13): label, x, y
Can You help me with this problem,please?
Thank You
- Anonymous7 years agoNot applicable
HI paltus ,
I'd like to suggest you to refer to following link about geom_lable function:
Regards,
Xiaoxin Sheng