हीटमैप चार्ट: ग्रिड-आधारित घनत्व और पैटर्न मैपिंग

जब गतिविधि घनत्व, निरंतर प्रवृत्तियों, या दो अलग-अलग आयामों के बीच संबंधों का विश्लेषण कर रहे हों, तोहीटमैप चार्ट एक शक्तिशाली दृश्य समाधान प्रदान करता है। दो आयामी ग्रिड के माध्यम से डेटा मूल्यों को एक गतिशील रंग पैमाने पर मैप करके, हीटमैप उपयोगकर्ताओं को तुरंत पहचानने में सक्षम बनाते हैंशीर्ष उपयोग घंटे, मौसमी बाधाएं, या मैट्रिक्स संबंध तुरंत—जैसे घंटे और सप्ताह के दिन के हिसाब से सर्वर लोड, उपयोगकर्ता गतिविधि लॉग, या कैटेगरी के बीच संबंध मैट्रिक्स।

हीटमैप की यांत्रिकी

एपाची ईचार्ट्स में, हीटमैप का उपयोग करते हैंप्रकार: 'हीटमैप' दो आयामी कार्टेशियन ग्रिड पर। प्रत्येक डेटा बिंदु को तीन तत्वों वाले ऐरे के रूप में अपेक्षा करता है जो इस प्रकार फॉर्मेट किया गया है[xAxisIndex, yAxisIndex, मान]। एक आवश्यकविजुअल मैप घटक संख्यात्मक मानों को एक निरंतर या टुकड़े-दर-टुकड़े रंग प्रवणता में मैप करता है।

1. आवश्यक सेटअप

एक मूल हीटमैप चार्ट बनाने के लिए, क्षैतिज (xAxis) और लंबवत (yAxis) पैमाने के लिए श्रेणीबद्ध अक्षों की घोषणा करें, और[xIndex, yIndex, मान] ऐरे अपनी श्रृंखला डेटा में पास करें, और एकविजुअल मैप घटक को कॉन्फ़िगर करें:

const hours = ['12am', '2am', '4am', '6am', '8am', '10am', '12pm', '2pm', '4pm', '6pm', '8pm', '10pm'];
const days = ['सोमवार', 'मंगलवार', 'बुधवार', 'गुरुवार', 'शुक्रवार'];

// डेटा प्रारूप: [xIndex, yIndex, मान]
const data = [
    [0, 0, 5], [1, 0, 1], [2, 0, 0], [3, 0, 0], [4, 0, 12], [5, 0, 24], [6, 0, 38], [7, 0, 42], [8, 0, 35], [9, 0, 20], [10, 0, 10], [11, 0, 6],
    [0, 1, 3], [1, 1, 0], [2, 1, 0], [3, 1, 1], [4, 1, 15], [5, 1, 28], [6, 1, 45], [7, 1, 50], [8, 1, 40], [9, 1, 22], [10, 1, 12], [11, 1, 4],
    [0, 2, 2], [1, 2, 1], [2, 2, 0], [3, 2, 0], [4, 2, 11], [5, 2, 26], [6, 2, 41], [7, 2, 48], [8, 2, 38], [9, 2, 19], [10, 2, 8],  [11, 2, 3],
    [0, 3, 4], [1, 3, 2], [2, 3, 0], [3, 3, 1], [4, 3, 14], [5, 3, 30], [6, 3, 49], [7, 3, 55], [8, 3, 42], [9, 3, 25], [10, 3, 15], [11, 3, 5],
    [0, 4, 6], [1, 4, 3], [2, 4, 1], [3, 4, 2], [4, 4, 10], [5, 4, 20], [6, 4, 32], [7, 4, 36], [8, 4, 28], [9, 4, 18], [10, 4, 9],  [11, 4, 2]
];

option = {
    tooltip: {
        position: 'top'
    },
    grid: {
        height: '50%',
        top: '10%'
    },
    xAxis: {
        type: 'category',
        data: hours,
        splitArea: { show: true }
    },
    yAxis: {
        type: 'category',
        data: days,
        splitArea: { show: true }
    },
    visualMap: {
        min: 0,
        max: 60,
        calculable: true,
        orient: 'horizontal',
        left: 'center',
        bottom: '15%'
    },
    series: [
        {
            name: 'सिस्टम लोड',
            type: 'heatmap',
            data: data,
            label: {
                show: true
            },
            emphasis: {
                itemStyle: {
                    shadowBlur: 10,
                    shadowColor: 'rgba(0, 0, 0, 0.5)'
                }
            }
        }
    ]
};

 

उन्नत संरचनात्मक तकनीकें

हीटमैप को अलग-अलग रंग चरणों, स्पष्ट सेल अंतराल या कैलेंडर निर्देशांक के साथ संयोजित करके कस्टमाइज किया जा सकता है ताकि पूरे वर्ष भर गतिविधि का ट्रैक रखा जा सके।

1. टुकड़ों में रंग नक्शा और कस्टम सेल स्पेसिंग

एक लगातार रंग ग्रेडिएंट के बजाय, एक टुकड़ों में उपयोग करेंvisualMap मानों को अलग-अलग संचालन बैंड (उदाहरण के लिए, कम, मध्यम, उच्च) में समूहित करने के लिए:

विकल्प = {
    सुझाव: { स्थिति: 'ऊपर' },
    xAxe: {
        प्रकार: 'श्रेणी',
        डेटा: ['Q1', 'Q2', 'Q3', 'Q4']
    },
    yAxe: {
        प्रकार: 'श्रेणी',
        डेटा: ['उत्पाद A', 'उत्पाद B', 'उत्पाद C']
    },
    visualMap: {
        प्रकार: 'टुकड़ों में',
        न्यूनतम: 0,
        अधिकतम: 100,
        बाएं: 'केंद्र',
        नीचे: '5%',
        अभिमुख: 'क्षैतिज',
        टुकड़े: [
            { न्यूनतम: 80, लेबल: 'उच्च प्रदर्शन', रंग: '#16a34a' },
            { न्यूनतम: 40, अधिकतम: 79, लेबल: 'मध्यम', रंग: '#f59e0b' },
            { अधिकतम: 39, लेबल: 'ध्यान देने की आवश्यकता', रंग: '#dc2626' }
        ]
    },
    श्रृंखला: [
        {
            प्रकार: 'तापमान नक्शा',
            डेटा: [
                [0, 0, 85], [1, 0, 92], [2, 0, 78], [3, 0, 88],
                [0, 1, 45], [1, 1, 55], [2, 1, 62], [3, 1, 35],
                [0, 2, 25], [1, 2, 30], [2, 2, 18], [3, 2, 42]
            ],
            लेबल: { दिखाएं: सच },
            आइटम शैली: {
                किनारे का रंग: '#ffffff',
                किनारे की चौड़ाई: 2
            }
        }
    ]
};

 

लेआउट और रंग ग्रेडिएंट को समायोजित करना

पठनीय रंग स्टॉप चुनना और स्प्लिट क्षेत्र सक्षम करना बड़े मैट्रिक्स ग्रिड को स्कैन करने के लिए आसान बनाता है।

1. ग्रेडिएंट कस्टमाइजेशन और लेबल संरेखण

कस्टम बहु-स्टॉप रंग रैंप को इसमें सेट करेंvisualMap.inRange अपने प्लेटफॉर्म थीम के अनुरूप बनाने के लिए:

विकल्प = {
    ग्रिड: { लेबल समावेश: सच },
    xAxe: {
        प्रकार: 'श्रेणी',
        डेटा: ['नोड 1', 'नोड 2', 'नोड 3', 'नोड 4']
    },
    yAxe: {
        प्रकार: 'श्रेणी',
        डेटा: ['सेवा X', 'सेवा Y', 'सेवा Z']
    },
    visualMap: {
        न्यूनतम: 0,
        अधिकतम: 100,
        गणना योग्य: सच,
        अभिमुख: 'क्षैतिज',
        बाएं: 'केंद्र',
        नीचे: '0%',
        inRange: {
            रंग: ['#f0f9ff', '#0284c7', '#0f172a'] // सॉफ्ट नीला से गहरा स्लेट ग्रेडिएंट
        }
    },
    श्रृंखला: [
        {
            प्रकार: 'तापमान नक्शा',
            डेटा: [
                [0, 0, 12], [1, 0, 45], [2, 0, 78], [3, 0, 95],
                [0, 1, 34], [1, 1, 67], [2, 1, 89], [3, 1, 23],
                [0, 2, 56], [1, 2, 78], [2, 2, 12], [3, 2, 88]
            ]
        }
    ]
};

 

रणनीतिक बेस्ट प्रैक्टिसेज

  • हमेशा एक शामिल करेंvisualMap:एक तापमान नक्शा बिना विजुअल लेजेंड के उपयोगकर्ताओं को अनुमान लगाने के लिए मजबूर करता है कि रंग का क्या अर्थ है। हमेशा एक लगातार या टुकड़ों मेंvisualMap स्पष्ट रूप से कैनवास के किनारे के पास रखें।
  • अलगाव के लिए ग्रिड किनारे का उपयोग करें:पतले सफेद किनारे लगाने के लिए उपयोग करेंआइटम शैली.किनारे का रंग: '#fff' औरकिनारे की चौड़ाई: 1 या 2 घने मैट्रिक्स में प्रत्येक सेल को दृश्य रूप से अलग रखने के लिए।
  • उच्च विपरीत रंग वाले पाठ को सुनिश्चित करें: यदि सेल संख्यात्मक लेबल सक्रिय हैं (लेबल.दिखाएँ: सच), जांचें कि पाठ का रंग आपके रंग ग्रेडिएंट के सबसे हल्के और सबसे गहरे चरणों के खिलाफ पढ़ने योग्य बना रहे।
Scroll to Top