У меня большой набор данных, 600 спектральных линий, с меньшим количеством линий мое решение работает, но теперь оно не показывает линии.если я наведу указатель мыши на область диаграммы с информацией о данных, будет отображаться только область
. Я попытался расплавить набор данных и построить соответствующий график.
По какой-то причине использованная мной процедура ggplotlyна меньшем наборе не работает на этом наборе.он показывает метки данных при наведении курсора мыши на область диаграммы, но линии не видны.
YellowBloodVar <- ncol( AEDPlotSG %>% #117
select(starts_with("Y_Bld")))
YellowCleanVar <- ncol( AEDPlotSG %>% #3
select(starts_with("Y_Cl")))
RedBloodVar <- ncol( AEDPlotSG %>% #88
select(starts_with("R_Bld")))
RedCleanVar <- ncol( AEDPlotSG %>% #1
select(starts_with("R_Cl")))
GreenBloodVar <- ncol( AEDPlotSG %>% #83
select(starts_with("G_Bld")))
GreenCleanVar <- ncol( AEDPlotSG %>% #7
select(starts_with("G_Cl")))
BlueBloodVar <- ncol( AEDPlotSG %>% #41
select(starts_with("B_Bld")))
BlueCleanVar <- ncol( AEDPlotSG %>% #159
select(starts_with("B_Cl")))
PulpBloodVar <- ncol( AEDPlotSG %>% #92
select(starts_with("P_Bld")))
PulpCleanVar <- ncol( AEDPlotSG %>% #7
select(starts_with("P_Cl")))
AEDDataMelt <- data.frame( melt(AEDPlotSG, id.vars = 'Wavelength', variable = 'series'))
MyLineType <- rep.int(2,((YellowBloodVar+YellowCleanVar+RedBloodVar+RedCleanVar+GreenBloodVar+GreenCleanVar+BlueBloodVar+BlueCleanVar+PulpBloodVar+PulpCleanVar)))
#Add linetype 1 (solid) as indication of mean value and calculate the lenght of the array------------------------------------------------
MyLineType <- append(MyLineType,c(1,1),after = length(MyLineType))
#MyColorsData <- rep.int("black",(length(PlotData[1, 2:(ncol(PlotData))])))
MyColorsYellowBlood <- rep.int("lightgoldenrod4",YellowBloodVar)
MyColorsRedBlood <- rep.int("red4",RedBloodVar)
MyColorsGreenBlood <- rep.int("green4",GreenBloodVar)
MyColorsBlueBlood <- rep.int("blue",BlueBloodVar)
MyColorsPulpBlood <- rep.int("antiquewhite",PulpBloodVar)
MyColorsYellowClean <- rep.int("lightgoldenrod1",YellowCleanVar)
MyColorsRedClean <- rep.int("red",RedCleanVar)
MyColorsGreenClean <- rep.int("green",GreenCleanVar)
MyColorsBlueClean <- rep.int("cadetblue1",BlueCleanVar)
MyColorsPulpClean <- rep.int("antiquewhite3",PulpCleanVar)
MyColors <- c(MyColorsYellowClean, MyColorsRedClean, MyColorsGreenClean, MyColorsBlueClean, MyColorsPulpClean, MyColorsYellowBlood,
MyColorsRedBlood,MyColorsGreenBlood,MyColorsBlueBlood,MyColorsPulpBlood, "red", "blue")
Q <- ggplot(AEDDataMelt) +
geom_line(aes(Wavelength, value, colour = series, linetype = series)) +
# First n lines are of one type, last line is reference and should be different--------------------------------------------------------
scale_linetype_manual(values = MyLineType)+
# First six lines are from the brewer pallette, last one a custom colour-----------------------------------------------
scale_colour_manual(values = c(MyColors))
ggplotly(Q) %>%
layout(
xaxis = list(
dtick = (BandwidthWavelength/100),
tick0 = (CenterWavelength - BandwidthWavelength),
tickmode = "linear"
))
Создано в 2019-06-26 с помощью пакета Представить (v0.3,0)