कैसे एक्स अक्ष में दिनांक प्राप्त करने के लिए?


119

क्या हाईचर्स के लिए x- अक्ष पर दिनांक प्राप्त करने का एक मानक तरीका है? यह उनके प्रलेखन में नहीं मिल सकता है: http://www.highcharts.com/ref/#xAxis--type

जब मेरी समय सीमा काफी बड़ी है, तो यह तारीखों को दर्शाता है। हालाँकि, जब समय सीमा काफी बड़ी नहीं होती है, तो यह केवल कुछ घंटे दिखाता है, जैसे:

यहाँ छवि विवरण दर्ज करें

यह आदर्श से कम है ... यदि यह इस मामले में एक तारीख और समय दिखा सकता है, तो यह बहुत अच्छा होगा। किसी को पता है कैसे?

जवाबों:


259

Highcharts स्वचालित रूप से वर्तमान ज़ूम-रेंज के लिए सबसे अच्छा प्रारूप खोजने का प्रयास करेगा। यह तब किया जाता है यदि xAxis का प्रकार है 'datetime'। वर्तमान ज़ूम की इकाई की गणना की जाती है, यह निम्नलिखित में से एक हो सकती है:

  • दूसरा
  • मिनट
  • घंटा
  • दिन
  • सप्ताह
  • महीना
  • साल

इस इकाई को तब अक्ष लेबल के लिए एक प्रारूप का उपयोग किया जाता है। डिफ़ॉल्ट पैटर्न हैं:

second: '%H:%M:%S',
minute: '%H:%M',
hour: '%H:%M',
day: '%e. %b',
week: '%e. %b',
month: '%b \'%y',
year: '%Y'

यदि आप चाहते हैं कि दिन "घंटे" -लेवल लेबल का हिस्सा हो तो आपको dateTimeLabelFormatsउस स्तर के विकल्प को शामिल करना चाहिए %dया %e। ये उपलब्ध पेटेंट हैं:

  • % a: लघु कार्यदिवस, जैसे 'सोम'।
  • % A: लंबे कार्यदिवस, जैसे 'सोमवार'।
  • % d: महीने का दो अंक दिन, 01 से 31।
  • % e: महीने का दिन, 1 31 के माध्यम से।
  • % b: लघु मास, जैसे 'जन'।
  • % B: लंबा महीना, जैसे 'जनवरी'।
  • % m: दो अंक महीने की संख्या, 01 12 के माध्यम से।
  • % y: 2009 के लिए 09 की तरह दो अंक वर्ष।
  • % Y: चार अंक वर्ष, जैसे 2009।
  • % H: 24h प्रारूप में दो अंक घंटे, 23 के माध्यम से 00।
  • % I: 12h प्रारूप में दो अंक घंटे, 11 के माध्यम से 00।
  • % l (निचला स्थिति L): 12 वें प्रारूप में घंटे, 11 के माध्यम से 1।
  • % M: दो अंक मिनट, 59 के माध्यम से 00।
  • % p: अपर केस AM या PM।
  • % P: लोअर केस AM या PM।
  • % S: दो अंक सेकंड, ५ ९ के माध्यम से ००

http://api.highcharts.com/highcharts#xAxis.dateTimeLabelFormats


16
एक मूर्खतापूर्ण प्रश्न हो सकता है, लेकिन जिज्ञासा से बाहर ... आपको इन तारीखों के बाकी कोड कहां से मिले? संदर्भ केवल आपके द्वारा शामिल डिफ़ॉल्ट पैटर्न दिखाता है।
बुद्धिपि ४४०

20
स्रोत को पढ़ने के बाद मिला, यहाँ डेटर्मेट विधि की जाँच करें: यूटिलिटीज
जेएस

2
इसे जोड़ने के लिए, वर्तमान ज़ूम स्तर के लिए डिफ़ॉल्ट पैटर्न में 'मिलीसेकंड' कुंजी भी शामिल है।
कोरी

1
इसके लिए बहुत धन्यवाद - दस्तावेज़ीकरण "dateFormat" को संदर्भित करता है, लेकिन यह स्पष्ट नहीं है कि वे आपसे स्रोत में विधि का उल्लेख करने की अपेक्षा कर रहे हैं या डॉक्स में कहीं और। मुझे समय का एक गुच्छा बचा लिया :)
जॉन

मैंने इसे आपके उदाहरण के रूप में स्थापित किया है, लेकिन यह तब भी मिलीसेकंड दिखाता है जब मैं इसे प्रति सेकंड एक से अधिक बार डेटा देता हूं। क्या आपके पास कोई विचार है क्यों?
नील्स ब्रिंच

32

इस नमूने को Highcharts API से देखें।

इसे बदलें

return Highcharts.dateFormat('%a %d %b', this.value);

इसके साथ

return Highcharts.dateFormat('%a %d %b %H:%M:%S', this.value);

समारोह के बारे में यहां देखें dateFormat()

इसे भी देखें - tickInterval और pointInterval


यह एक पुराना सवाल है, लेकिन यह जवाब बहुत मददगार था। विशेष रूप से आपके द्वारा संलग्न उदाहरण लिंक।
साइबरएमजे

सैंपल लिंक कोई और काम नहीं कर रहा है। जब हम Run का चयन करते हैं तो कुछ भी नहीं होता है।
सिम्सन

1
@ सीमेंस हाईचर्ट्स लिंक जिसका मैंने उपयोग किया था वह मृत था, इसलिए मैंने लिंक को अपडेट किया। अब, फिडल काम कर रहा है।
भेश गुरुंग

यहाँ दिनांक कोड की एक सूची दी गई है जो dateFormatस्वीकार करता है: github.com/highcharts/highcharts/issues/…
ट्रेवर गेहमन

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.