2016-02-19 8 views
7

के साथ एसवीजी टेक्स्ट को घुमाने के लिए कैसे मैं चार्ट बनाने के लिए c3.js का उपयोग कर रहा हूं। समस्या यह है कि मैं xgrid पर पाठ तत्वों की स्थिति नहीं बदल सकता। मैं उन्हें क्षैतिज होना चाहता हूं। लेकिन जब भी मैं घूमने का प्रयास करता हूं तो तत्व svg के बाहर जाते हैं। मैं तो कैसे जगह कर सकते हैं वास्तव में वे कहाँ हैं, लेकिन उन्हें क्षैतिजसीएसएस

js बेला बनाने: http://jsfiddle.net/yrzxj3x2/7/

यहाँ सीएसएस है कि मैं पूरा कोड के लिए कोशिश की है js बेला देखें

.xLineLable text{ 
    font-size: 12px; 
} 
.c3-grid text { 
    fill: #000; 
    transform: rotate(0); 
    } 
+2

ट्रांसफॉर्म-उत्पत्ति का उपयोग करें –

+1

एसवीजी तत्व पर 'ट्रांसफॉर्म' विशेषता स्वयं ही आपके द्वारा निर्दिष्ट किसी भी सीएसएस को ओवरराइड करने लगती है। दुर्भाग्यवश, [मुझे c3.js का उपयोग करके पाठ को घुमाने के लिए कोई रास्ता नहीं दिख रहा है] (http://c3js.org/reference.html#grid-x-lines)। एक ऊर्ध्वाधर रेखा पर क्षैतिज पाठ असाइन करना वैसे भी संदिग्ध है, और मैं इसकी अनुशंसा नहीं करता। – Blazemonger

+1

आपको डिस्प्ले रीसेट करने की आवश्यकता हो सकती है, इसलिए यह ट्रांसफॉर्म लेता है, लेकिन एफएफ में अजीब व्यवहार http://jsfiddle.net/yrzxj3x2/19/ –

उत्तर

9

आप पाठ बारी बारी से कर सकते हैं निम्नलिखित सीएसएस जोड़कर क्षैतिज में।

.c3-grid text { 
    fill: #000; 
    transform:rotate(0deg) translate(266px, 0px); 
    } 

यदि आप और लाइनें जोड़ना चाहते हैं तो आपको मैन्युअल रूप से मूल्य बढ़ाना चाहिए।

तुम भी तरह की स्थिति दे सकते हैं:

x: { 
    lines: [ 
     {value: "2016-01-08", text: "Want to rorate this text in 180 degrees", 
     class: "xLineLable", position: "outer-middle"} 


    ] 

Working Fiddle

संपादित करें:

आप क्षैतिज रेखा तो क्यों आप ygrid में जोड़ने के लिए नहीं करना चाहते हैं।

grid: { 
    y: { 
     lines: [ 
       {value: 50,text: "Want to rorate this text in 180 degrees", 
     class: "xLineLable", position: "middle"}, 

      ] 
    }, 

Fiddle

+0

लेकिन फिर जब मैं चार्ट में और रेखाएं जोड़ता हूं तो पाठ भी दिखाई नहीं देता है ... http://jsfiddle.net/yrzxj3x2/26/ – Imo

+0

मेरे संपादित की जांच करें। – ketan

1

तो अपने बेला में पाठ यह 180 डिग्री बारी बारी से करने का कहना है ...

मैंने किया है कि यहाँ:

transform: translate(90px, 230px) rotate(90deg) !important; 

मैं भी यह क्षैतिज बनाया जैसे आप चाहते थे और उसे एक पठनीय जगह पर ले जाया गया:

transform: translate(295px, 115px); 

यदि आप चाहें तो इसे ऊपर और ऊपर रखने के लिए आप एक्स और वाई निर्देशांक को स्थानांतरित कर सकते हैं। यह पदों का उपयोग कर ग्रिड तत्वों की तरह दिखता है। सुनिश्चित नहीं है कि वह कोड कैसा दिखता है।

+1

यह उन ** कष्टप्रद ** मामलों में से एक है जहां आपको 4 समान की आवश्यकता है, लेकिन आपके सीएसएस में ब्राउज़र विशिष्ट लाइनें, यहां विवरण https://css-tricks.com/examples/ShapesOfCSS/ मूल रूप ** svg { परिवर्तन: घूमना (45 डिग्री); } ** –

+0

यदि आप ब्राउज़र उपसर्गों के बारे में बात कर रहे हैं, तो आप अपने लिए उन पंक्तियों को जोड़ने के लिए ऑटो-प्रीफिक्सर सब्लिमे प्लगइन का उपयोग कर सकते हैं और मुझे यकीन है कि आपके लिए भी बहुत से अन्य टूल हैं जो आपके लिए स्वतः पूर्ण हो जाते हैं। – D3TXER