मेरे पास स्कैटर प्लॉट बनाने वाला निम्न कोड है और मैं वाई अक्ष और एक्स अक्ष के औसत मानों का प्रतिनिधित्व करने वाली लंबवत और क्षैतिज रेखाएं जोड़ना चाहता हूं, मैं यह कैसे कर सकता हूं?

 f <- list(
   family = "Courier New, monospace",
   size = 18,
   color = "#7f7f7f"
  )
 x <- list(
   title = "Age of Buildings",
   titlefont = f,
   zeroline = FALSE,
   showline = FALSE,
   showticklabels = TRUE,
   showgrid = TRUE
  )
  y <- list(
    title = "Total Violations",
    titlefont = f,
    zeroline = FALSE,
    showline = FALSE,
    showticklabels = TRUE,
    showgrid = TRUE
   )
fig2 <- plot_ly(final, x=~agebuilding, y=~violationstotal, mode= "markers", color = ~INdexrehabless6, size = ~totalvalue)
fig2 <- fig2 %>% layout(xaxis = x, yaxis = y, legend=list(title=list(text='<b> Housing Conditions </b>'))) #chaging name legend
fig2

मुझे जो प्लॉट मिलता है वह यहां है

enter image description here

2
Pierre 14 अप्रैल 2020, 17:47

1 उत्तर

सबसे बढ़िया उत्तर

अपने df final के लिए कुछ यादृच्छिक डेटा का उपयोग करना। मुझे नहीं पता कि plotly किसी प्रकार का geom_h/vline प्रदान करता है या नहीं ... इसके बजाय मैंने डेटाफ्रेम का उपयोग करके लाइनों का निर्माण किया जिसमें लाइनों का प्रारंभ और अंत बिंदु होता है। एक नज़र देख लो:

set.seed(50)
final <- data.frame(
  agebuilding = 150 * runif(50), 
  violationstotal = 30 * runif(50),
  INdexrehabless6 = factor(sample(0:1, 50, replace = TRUE)),
  totalvalue = 100 * runif(50)
)

mean_x <- data.frame(x = rep(mean(final$agebuilding), 2), y = c(0, ceiling(10* max(final$violationstotal))/10))
mean_y <- data.frame(y = rep(mean(final$violationstotal), 2), x = c(0, ceiling(10* max(final$agebuilding))/10))

library(plotly)
fig2 <- plot_ly(final) %>%
  add_markers(x=~agebuilding, y=~violationstotal, color = ~INdexrehabless6, size = ~totalvalue) %>% 
  add_lines(x = ~x, y = ~y, data = mean_x, name = "Mean x") %>% 
  add_lines(x = ~x, y = ~y, data = mean_y, name = "Mean y")
fig2 <- fig2 %>% layout(xaxis = x, yaxis = y, legend=list(title=list(text='<b> Housing Conditions </b>'))) #chaging name legend
fig2

enter image description here

2
stefan 14 अप्रैल 2020, 18:53