basically, I want to have my y-variable OEE to be the starting from 0 %, which I achieve, for all, except Line 1. I am puzzled why Line 1 is an exception.
Sorry, I do not see any fundamental difference between the y axis of Line 1 and any other plot. All of the plots seem to have a few negative values that dip below the zero level. Can you explain in more detail what you don't like about the Line 1 plot?
perhaps the printscreen is not that clear or my explanation is not clear. You can see for Line 2 to Line 5, its OEE is always start from 0%, but for Line 1, it is not the case. I hope the below printscreens can show clearly that Line 1's OEE does not start at 0%.
The problem seems to come from the ggplotly function. If I just look at the ggplot output, it looks as expected. I am not familiar enough with ggplotly to suggest a solution.
library(ggplot2)
#> Warning: package 'ggplot2' was built under R version 4.0.5
library(plotly)
#>
#> Attaching package: 'plotly'
#> The following object is masked from 'package:ggplot2':
#>
#> last_plot
#> The following object is masked from 'package:stats':
#>
#> filter
#> The following object is masked from 'package:graphics':
#>
#> layout
OEE_Outputs_ByLine_Daily <- read.csv("~/R/Play/file.csv")
OEE_Outputs_ByLine_Daily$Metrics <- as.factor(OEE_Outputs_ByLine_Daily$Metrics)
OEE_Outputs_ByLine_Daily$Metrics2 <- relevel(OEE_Outputs_ByLine_Daily$Metrics,'OEE')
g <- ggplot(OEE_Outputs_ByLine_Daily,
aes(fill=Metrics2, y=Percent, x=Date)) +
geom_bar(position="stack", stat="identity") +
geom_col(position = position_stack(reverse = TRUE)) +
facet_wrap(~Line, strip.position = "bottom") +
labs(title="Different Metrics (%) vs Date",x="",y="")
print(g)
#> Warning: Removed 423 rows containing missing values (position_stack).
#> Warning: Removed 423 rows containing missing values (position_stack).
The problem I have here is using ggplot's facet_wrap, and next ggplotly, then I will have issue.
I am trying to switch to highchart in R, but it seems to be it is not possible to separate plots with
A faceted plot can be made directly with plotly but I have almost no experience working directly with plotly. The following code begins to make such a plot but the result has many problems. Among them are that the x axis tick mark labels are terrible and there is no legend. If I turn the legend on for each subplot, I get 5 copies of the legend. I'm sure there is a way to prevent that. The code may be the silliest possible way to make such a plot with plotly. As I said, I do not use that package.
library(plotly)
DAT <- read.csv("~/R/Play/file.csv")
DAT <- DAT %>%
mutate(Metrics = factor(Metrics,
levels = c("OEE", "BreakDown", "ChangeOver", "Industrialization",
"NonPlannedStop", "PlannedStop", "Quality", "Scrap")))
ThePlot <- . %>% plot_ly() %>%
add_trace(x = ~Date, y = ~Percent, color = ~Metrics, type = "bar") %>%
add_annotations(
text = ~unique(Line),
x = 0.5,
y = 1.10,
yref = "paper",
xref = "paper",
xanchor = "middle",
yanchor = "top",
showarrow = FALSE,
font = list(size = 10)
) %>%
layout(barmode = "stack", showlegend = FALSE)
DAT %>% group_by(Line) %>%
do(p = ThePlot(.)) %>%
subplot(nrows = 2, shareX = TRUE, shareY=TRUE)