Plotly

2016-06-28 9 views
5

मैं एक ggplot आर में मैं मंडराना बॉक्स में पाठ का आकार बढ़ाने के लिए चाहते हैं के आधार पर एक Plotly साजिश का निर्माण कर रहा हूँ में मंडराना पाठ का आकार बदलें। मान लीजिए मेरे पास स्कैटरप्लॉट है:Plotly

library(plotly) 
library(ggplot2) 

d <- data.frame(a = sample(1:50, 30, T), 
       b = sample(1:50, 30, T), 
       col = factor(sample(1:3, 30, T))) 

gg <- ggplot() + geom_point(aes(x = a, y = b, color = col), data = d) 

p <– plotly_build(gg) 
p 

क्या होवर टेक्स्ट के आकार को बदलने का कोई तरीका है?

+0

कृपया मैं क्या विश्वास है के लिए नीचे मेरी जवाब देखने के सही तरीका आर में यह पूरा करने के लिए है – rmg

उत्तर

4

वर्तमान में कोई अंतर्निहित तरीका plotly के माध्यम से सीधे मंडराना उपस्थिति को परिभाषित करने के अतिरिक्त गुण पारित करने के लिए (github issue #102 देखें) हो रहा है। हालांकि, समस्या विवरण में आप होवर टेक्स्ट के लिए उपयोग की जाने वाली कक्षा का नाम देखते हैं, जो .hovertext है। सबसे आसान समाधान आपको एक HTML फ़ाइल के रूप में साजिश से बचाने के लिए होगा और एचटीएमएल के <head> भाग में हाथ से नीचे सीएसएस जोड़ें। यदि आप किंवदंती पाठ के आकार को भी बदलना चाहते हैं, तो .legendtext लाइनें रखें, अगर उन्हें मिटा नहीं है।

<style type="text/css"> 
.hovertext text { 
    font-size: 100px !important; 
} 
.legendtext { 
    font-size: 30px !important; 
} 
</style> 

यदि आप हाथ से ऐसा करने के बजाय आर का उपयोग करके सीएसएस इंजेक्ट करना चाहते हैं तो आपके पास कई विकल्प हैं।

# the CSS we want to inject 
css <- ' 
<style type="text/css"> 
.hovertext text { 
    font-size: 100px !important; 
} 
.legendtext { 
    font-size: 30px !important; 
} 
</style>' 

library(plotly) 
library(htmltools) 
library(htmlwidgets) 

1: निर्माण

x <- as.widget(p)         # convert to htmlwidget object 
saveWidget(x, file="test_edited_1.html")   # and save to file 
l <- readLines("test_edited_1.html")    # read file 
h <- paste(l, collapse= " ")    
hh <- strsplit(h, "<head>")[[1]]     # split where head appears 
h.new <- paste(hh[1], css, hh[-1], collapse=" ") # insert CSS 
writeLines(h.new, "test_edited_1.html")   # write back to file 

2 के बाद HTML फ़ाइल को संशोधित: वस्तु जहाँ से HTML फ़ाइल

x <- as.widget(p)         # convert to htmlwidget object 
# add a the code directly into <head> using `htmltools::htmlDependency` 
x$dependencies <- list(
    htmlDependency(
     name = "custom", 
     version="1", 
     src="", 
     head=css) 
    ) 
saveWidget(x, file="test_edited_2.html") 

बनाई गई है जबकि दूसरा काम करता है, मुझे यकीन है कि नहीं कर रहा हूँ संशोधित यदि यह htmlDependency का उचित उपयोग है।

परिणाम

enter image description here

1

एक update हुई है plotly हाल ही में करने के लिए है कि आप मंडराना पाठ की विभिन्न विशेषताओं को बदलने के लिए अनुमति देता है। यहां आर:

plot_ly(x=c(1:42), 
     y=c(1:42), 
     text=c(1:42), 
     type="bar")%>% 
    layout(
    title = paste("Top 42"), 
    hoverlabel = list(font=list(size=10)) 
) 

फ़ॉन्ट रंग, बीजीकलर और बहुत कुछ बदलने के विकल्प भी हैं।

संबंधित मुद्दे