मुख्य सामग्री पर जाएँ

Bokeh के साथ डेटा विज़ुअलाइज़ेशन ट्यूटोरियल: गेटिंग स्टार्टेड

Bokeh की जरूरी बुनियादी बातें और इंस्टॉलेशन प्रक्रिया सीखें
· 7 मि॰ पढ़ें

AI के साथ खोजें

इस ट्यूटोरियल में आप सीखेंगे कि Bokeh (और इसकी निर्भरताएँ) कैसे इंस्टॉल करें और Bokeh का उपयोग करके विज़ुअलाइज़ेशन के लिए बुनियादी घटक कैसे बनाएं। आप यह भी सीखेंगे कि बेसिक प्लॉट कैसे बनाएँ और उन्हें कस्टमाइज़ कैसे करें। इससे आगे के सेक्शनों में उन्नत फीचर्स सीखने की नींव तैयार होगी।

Bokeh क्या है?

Bokeh एक इंटरैक्टिव, डेटा विज़ुअलाइज़ेशन पैकेज है जो Python के साथ डायनेमिक विज़ुअलाइज़ेशन बनाने के लिए उपयोग होता है। Bokeh ओपन-सोर्स है और आप इससे ऐसे प्लॉट बना सकते हैं जो कोई रोचक कहानी बयान करें।

अन्य टूल्स से Bokeh को क्या अलग बनाता है?

विज़ुअलाइज़ेशन की दुनिया में डैशबोर्ड और विज़ुअलाइज़ेशन बनाने के लिए कई Python लाइब्रेरीज़ हैं, जिनमें शामिल हैं:

  • Bokeh
  • Matplotlib
  • Streamlit
  • dash
  • Seaborn
  • Plotly
  • Geoplotlib
  • Gleam
  • ggplot
  • Missingo

Bokeh निम्नलिखित के लिए उपयुक्त है:

  • आधुनिक ब्राउज़रों के लिए इंटरैक्टिव विज़ुअलाइज़ेशन बनाना
  • स्टैंडअलोन डॉक्युमेंट या सर्वर-समर्थित एप्लिकेशन बनाना
  • अभिव्यंजक और डायनेमिक ग्राफ़िक्स बनाना
  • बड़े, डायनेमिक या स्ट्रीमिंग डेटा के लिए डैशबोर्ड बनाना

यह Bokeh ट्यूटोरियल आपके लिए है...

यदि आप डेटा वैज्ञानिक, डेटा विश्लेषक, या मशीन लर्निंग इंजीनियर हैं। इस ट्यूटोरियल के लिए आवश्यक है कि आपको Python का बुनियादी ज्ञान हो और आप पैकेज इंस्टॉल और इम्पोर्ट करना जानते हों। आप सीखेंगे कि इंटरैक्टिव विज़ुअलाइज़ेशन कैसे बनाएँ और उन्हें Bokeh लाइब्रेरी के माध्यम से वेब पर कैसे डिप्लॉय करें। Bokeh आपकी मदद इंटरैक्टिव प्लॉट, डैशबोर्ड और डेटा एप्लिकेशन बनाने में कर सकता है।

Bokeh कैसे इंस्टॉल करें

Anaconda का उपयोग करके इंस्टॉल करें

यदि Anaconda आपका Python पैकेज मैनेजर है, तो आप Bokeh को Anaconda Prompt, Windows Command Prompt, या Bash Terminal से इस प्रकार इंस्टॉल कर सकते हैं:

conda install bokeh
conda install jinja2
conda install six
conda install requests
conda install tornado
conda install pyYaml

pip का उपयोग करके इंस्टॉल करें

आप इसे pip Python पैकेज मैनेजर से भी इस प्रकार इंस्टॉल कर सकते हैं:

pip install bokeh
pip install jinja2
pip install six
pip install requests
pip install tornado
pip install pyYaml

Jupyter Notebook के भीतर इंस्टॉल करें

!pip install bokeh
!pip install Jinja2
!pip install Six
!pip install Requests
!pip install Tornado
!pip install PyYaml

अपनी इंस्टॉलेशन की जाँच करें

from bokeh.io import output_notebook, show

output_notebook()

समस्या समाधान

यदि आपको Bokeh इंस्टॉल करने में दिक्कत आ रही है, तो सहायता के लिए Discourse देखें। आप Bokeh संबंधी मुद्दों के समाधान के लिए Github भी देख सकते हैं।

Glyphs में आपका स्वागत है

आख़िर Glyphs क्या हैं?

Glyphs Bokeh के प्रमुख बिल्डिंग ब्लॉक्स हैं जो प्लॉट बनाते हैं। Bokeh में आप जो भी प्लॉट बनाते हैं उसमें glyph का तंत्र होता है। उदाहरण के लिए, जब आप एक स्कैटर प्लॉट बनाना चाहते हैं, तो आप किसी जानकारी को दर्शाने के लिए सर्कल को मार्कर के रूप में उपयोग कर सकते हैं। एक लाइन प्लॉट पर रेखा जानकारी को दर्शाएगी।

ये ज्यामितीय आकृतियाँ (रेखाएँ या वृत्त) ही Bokeh में glyphs कहलाती हैं। ये डेटा के बारे में दृश्य सूचना देती हैं। यह ट्यूटोरियल आपको glyphs को समझने में मदद करेगा, यह दिखाकर कि अलग-अलग प्रकार के प्लॉट बनाने के लिए glyphs का उपयोग कैसे करें। संक्षेप में, हम glyphs का उपयोग करके निम्नलिखित प्लॉट बनाएँगे:

  • लाइन प्लॉट: लाइन प्लॉट x और y-अक्षों के साथ डेटा बिंदुओं की गति को एक रेखा के रूप में प्रस्तुत करते हैं। टाइम सीरीज़ डेटा के लिए लाइन प्लॉट उपयुक्त होते हैं।
  • बार प्लॉट: बार प्लॉट प्रत्येक श्रेणी की गणना को एक कॉलम या फ़ील्ड के रूप में दर्शाते हैं। डेटा को श्रेणियों में बाँटने के लिए बार प्लॉट उपयुक्त होते हैं।
  • पैच प्लॉट: पैच प्लॉट किसी क्षेत्र के बिंदुओं को एक विशेष रंग से दिखाते हैं। ये एक ही डेटासेट के भीतर समूहों को अलग पहचान देने के लिए उपयुक्त होते हैं।
  • स्कैटर प्लॉट: स्कैटर प्लॉट दो चर के बीच संबंध और उनके बीच सहसंबंध की ताकत को दर्शाते हैं।

प्लॉटिंग के लिए Glyphs का उपयोग कैसे करें

Bokeh में प्लॉट बनाने के सामान्य चरण इस प्रकार हैं;

  • figure() फ़ंक्शन का उपयोग करके एक प्लॉट बनाएँ ताकि Bokeh को आरेख बनाने का निर्देश मिले।
  • शीर्षक, x-अक्ष और y-अक्ष के लेबल निर्धारित करें।
  • फिर figure में line() glyph जोड़कर एक लाइन प्लॉट बनाएँ और
  • cross() glyph से x और y बिंदुओं के प्रतिच्छेदों को चिह्नित करें।

लाइन प्लॉट बनाना

यह कोड आपको Bokeh में एक सरल लाइन प्लॉट बनाना दिखाता है।

#Import the required packages
from bokeh.io import output_notebook, output_file, show
from bokeh.plotting import figure
#Create two data arrays
x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
y = [11, 12, 13, 14, 15, 16, 17, 18, 19, 20]

# Create plot
plot = figure(width=400, height=400, title="Simple line plot", x_axis_label="x-axis", y_axis_label = 'y-axis')
plot.line(x,y, line_width=2, color='green')


#Show plot
output_file(“line_plot1.html”)
show(plot)

यह उदाहरण दिखाता है कि line() glyph का उपयोग करके x और y डेटा बिंदुओं के एक-आयामी क्रम से एक एकल लाइन glyph कैसे बनाया जाए। आप figure() फ़ंक्शन में प्लॉट की चौड़ाई और ऊँचाई, शीर्षक और अक्षों के लेबल निर्दिष्ट कर सकते हैं। line() glyph में, आप line_width आर्ग्युमेंट से रेखा की मोटाई और color आर्ग्युमेंट से रंग निर्दिष्ट कर सकते हैं।

सरल लाइन प्लॉट

बार प्लॉट बनाना

#Import the
from bokeh.plotting import figure, show

animals = ['lion', 'leopard', 'elephant', 'rhino', 'buffalo']
weight_tonnes = [190, 90, 3000, 2300, 590]

p = figure(x_range=animals, height=350, title="Big Five weight", x_axis_label = "Animal", y_axis_label = "Weight",
           toolbar_location=None, tools="")

p.vbar(x=animals, top=weight_tonnes, width=0.9)

p.xgrid.grid_line_color = None
p.y_range.start = 0

show(p)

बार प्लॉट

पैच प्लॉट बनाना

पैच प्लॉट किसी समूह या क्षेत्र के समान गुणों को दर्शाने के लिए क्षेत्रों को रंग से शेड करता है। आप इस प्रकार एक सरल पैच प्लॉट बना सकते हैं:

# Import required packages
from bokeh.io import output_file, show
from bokeh.plotting import figure
# Create the regions to chart
x_region = [[1,1,2], [2,3,3], [2,3,5,4]]
y_region = [[2,5,6], [3,6,7], [2,4,7,8]]
# Create plot
plot = figure()
plot.patches(x_region, y_region, fill_color = ['blue', 'yellow', 'green'], line_color = 'black')
show(plot)

पैच प्लॉट

यहाँ तीन अलग-अलग क्षेत्र हैं: पहला [1,1,2], जो y-अक्ष पर [2,5,6] से मैप है। दूसरा x-अक्ष पर [2,2,3] का क्षेत्र, जो y-अक्ष पर [3,6,7] से मैप है, और तीसरा क्षेत्र [2,3,5,4], जो y-अक्ष पर [2,4,7,8] से मैप है। patches glyph प्रत्येक क्षेत्र के लिए पैच बनाने में अलग-अलग रंगों का उपयोग करता है। _linecolor आर्ग्युमेंट प्रत्येक पैच की बॉर्डर का रंग निर्दिष्ट करता है।

स्कैटर प्लॉट बनाना

डेटा वैज्ञानिक अक्सर दो चरों के बीच संबंध जानने के लिए स्कैटर प्लॉट का उपयोग करते हैं। आप Bokeh में इस प्रकार एक सरल स्कैटर प्लॉट बना सकते हैं:

# Import required packages
from bokeh.io import output_file, show
from bokeh.plotting import figure
# Create x and y data points
x = [1,2,3,4,5]
y = [5,7,2,2,4]
# Create plot
plot = figure(title = "Scatter plot", x_axis_label = "Label name of x axis", y_axis_label ="Label name of y axis")
plot.circle(x,y, size = 30, alpha = 0.5)
# Add labels

# Output the plot
show(plot)

स्कैटर प्लॉट

यह कोड स्कैटर प्लॉट पर x और y सूचियों के प्रतिच्छेद बिंदुओं को बनाने के लिए सर्कल मार्कर का उपयोग करता है। सर्कल की जगह आप निम्न जैसे अन्य मार्कर भी उपयोग कर सकते हैं:

  • cross()
  • x()
  • diamond()
  • diamond_cross()
  • circle_x()
  • circle_cross()
  • triangle()
  • inverted_triangle()
  • square_x()
  • square_cross()
  • asterisk()

size = 30 आर्ग्युमेंट प्रत्येक सर्कल का आकार निर्धारित करता है। नीचे का चित्र Bokeh में उपलब्ध सभी मार्करों का सार देता है।

Bokeh मार्कर्स

स्रोत: Bokeh.org

alpha आर्ग्युमेंट सर्कल की पारदर्शिता निर्दिष्ट करता है। इसका मान 0 और 1 के बीच होता है, जहाँ 0 पूरी तरह पारदर्शी और 1 अपारदर्शी होता है।

निष्कर्ष

यह ट्यूटोरियल Bokeh का परिचय एक इंटरैक्टिव और उच्च-स्तरीय विज़ुअलाइज़ेशन टूल के रूप में कराता है। ट्यूटोरियल यह नींव रखता है कि Bokeh का उपयोग करते समय आप क्या अपेक्षा कर सकते हैं। आपने glyphs की अवधारणा का उपयोग करके Bokeh में लाइन प्लॉट, बार प्लॉट, पैच प्लॉट और स्कैटर प्लॉट बनाना देखा। अधिक विवरण के लिए कि Bokeh में आप किन-किन प्रकार के चार्ट बना सकते हैं, निम्न Bokeh प्रलेखन देखें।

विषय