2012-11-27 32 views
5

मैं अपनी Google स्प्रेडशीट के भीतर लाइन चार्ट एम्बेड करने के लिए Google Apps Script और EmbeddedChartBuilder का उपयोग कर रहा हूं। जब आप इन चार्टों को हाथ से बनाते हैं, तो आपके पास "लेबल के रूप में कॉलम ए का उपयोग करें" के लिए (गैर-डिफ़ॉल्ट) विकल्प होता है (जहां "ए" डेटा सीमा में पहला स्तंभ होता है)। मुझे एक स्क्रिप्ट से ऐसा करने का कोई तरीका नहीं मिल रहा है। Google Visualization Line Chart दस्तावेज़ीकरण से, ऐसा प्रतीत होता है कि डिफ़ॉल्ट "कॉलम" भूमिका के रूप में पहले कॉलम का इलाज करना है; लेकिन एंबेडेड चार्टबिल्डर इसे ओवरराइड करता है और सभी कॉलम को "डेटा" भूमिका देता है। चूंकि मेरे पास एक स्पष्ट डेटाटेबल नहीं है, इसलिए मेरे पास column roles सेट करने का कोई तरीका नहीं है।Google Apps स्क्रिप्ट: स्प्रैडशीट में एम्बेडेड चार्ट में "कॉलम ए के रूप में लेबल का उपयोग करें" कैसे सेट करें?

क्या मुझे ऐसा करने का कोई तरीका याद आया है? या क्या मुझे एंबेडेड चार्टबिल्डर से using the spreadsheet as a data source पर दृष्टिकोण स्विच करना है?

उत्तर

12

इसे मिला! EmbeddedChartBuilder.setOption के साथ विकल्प useFirstColumnAsDomaintrue पर सेट करें।

यह विकल्प अनियंत्रित प्रतीत होता है। मैंने इसे "चार्ट प्रकाशित करें" पर जाकर पाया (चार्ट पर क्लिक करें, फिर ऊपर दाईं ओर स्थित ड्रॉप-डाउन से चुनें) और दिए गए कोड में जावास्क्रिप्ट डेटा संरचना का निरीक्षण करें। सटीक होने के लिए, मैंने "चार्ट ए के रूप में कॉलम ए का प्रयोग लेबल" के साथ एक चार्ट बनाया, प्रकाशित डेटा संरचना को पकड़ लिया, फिर "कॉलम ए को लेबल के रूप में उपयोग करें" की जांच की, नई प्रकाशित डेटा संरचना को पकड़ लिया, और दोनों की तुलना की। तुलना करने के लिए, मैं normalizing the JSON का सुझाव देता हूं और diff चला रहा हूं। इस तकनीक का उपयोग चार्ट संपादक में किसी भी सेटिंग को रिवर्स-इंजीनियर करने के लिए किया जा सकता है।

+0

क्या यह अभी भी किसी के लिए काम कर रहा है? मैं सफलता के बिना एक घंटे या तो कोशिश कर रहा हूं –

+1

बिल्कुल सही, धन्यवाद! हाँ यह काम करता है। एम्बेडेड चार्ट के लिए, यह सटीक वाक्यविन्यास है: '.setOption ('useFirstColumnAsDomain', सत्य) ** ** चार्टबिल्डर ** ब्लॉक के भीतर। –

2

मुझे बस इसी समस्या का अनुभव हुआ। मैंने एंड्रयू के समान दृष्टिकोण लिया, लेकिन एक अलग समाधान मिला (संभवतः क्योंकि Google ने स्प्रेडशीट्स में अपने ग्राफ में कार्यक्षमता जोड़ा है)।

प्रकाशन के बाद कोड को प्रारूपित करने के लिए मैंने http://jsbeautifier.org/ का उपयोग किया, और मुझे यह डेटा डेटा लेबल जोड़ने के लिए जिम्मेदार पाया गया। ध्यान दें कि आप डेटा लेबल पर बार को जोड़ने वाले स्टेम का रंग भी बदल सकते हैं:

"series": { 
        "0": { 
         "errorBars": { 
          "errorType": "none" 
         }, 
         "dataLabel": "value", 
         "annotations": { 
          "stemColor": "none" 
         } 
        }, 
        "color": "black", 
        "targetAxisIndex": 0, 
        "annotations": { 
         "textStyle": { 
          "color": "red", 
          "fontSize": 12 
         } 
        } 
       }, 
+0

@ डेव गिडुई, क्या मैं आपसे संपर्क कर सकता हूं कि इस स्क्रिप्ट को मेरे उपयोग के मामले में कैसे काम किया जाए? मैं जेएस में अच्छा नहीं हूं और मैं ओपी द्वारा उद्धृत Google के दस्तावेज के साथ आपकी स्क्रिप्ट को संयोजित करने में असफल रहा हूं। –

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

  • कोई संबंधित समस्या नहीं^_^