परिचय
स्कैटर प्लॉट दो चरों के बीच संबंध देखने के लिए उपयोगी है। Matplotlib में स्कैटर प्लॉट 4 आयाम तक दिखा सकता है: X, Y, रंग (color), आकार (size)।
चरण
- इंस्टॉल करें:
pip install matplotlib - इम्पोर्ट और डेटा:
import matplotlib.pyplot as plt import random tennis_stats = (('Federer', 20), ('Nadal', 20), ('Djokovic', 17), ('Sampras', 14), ('Emerson', 12), ('Laver', 11), ('Murray', 3), ('Wawrinka', 3), ('Zverev', 0), ('Thiem', 1), ('Medvedev', 0), ('Tsitsipas', 0), ('Dimitrov', 0), ('Rublev', 0)) titles = [t for p, t in tennis_stats] players = [p for p, t in tennis_stats] - बेसिक स्कैटर:
plt.scatter(titles, players) plt.xlabel('ग्रैंड स्लैम खिताब') plt.ylabel('टेनिस खिलाड़ी') plt.show() - X-अक्ष को पूर्णांक दिखाने के लिए फॉर्मेटर:
from matplotlib.ticker import FuncFormatter def format_titles(x, pos): return str(int(x)) plt.gca().xaxis.set_major_formatter(FuncFormatter(format_titles)) - कस्टम रंग (रैंडम):
random_colors = ['#FF0000', '#FFFF00', '#FFFFF0', '#FFFFFF', '#00000F'] colors = [random.choice(random_colors) for _ in titles] plt.scatter(titles, players, c=colors, alpha=0.5) - कस्टम आकार (रैंडम):
sizes = [(50 * random.random()) ** 2 for _ in titles] plt.scatter(titles, players, c=colors, s=sizes, alpha=0.1)
पूर्ण कोड
import matplotlib.pyplot as plt
import random
from matplotlib.ticker import FuncFormatter
tennis_stats = (('Federer', 20), ('Nadal', 20), ('Djokovic', 17),
('Sampras', 14), ('Emerson', 12), ('Laver', 11),
('Murray', 3), ('Wawrinka', 3), ('Zverev', 0),
('Thiem', 1), ('Medvedev', 0), ('Tsitsipas', 0),
('Dimitrov', 0), ('Rublev', 0))
titles = [t for p, t in tennis_stats]
players = [p for p, t in tennis_stats]
def format_titles(x, pos):
return str(int(x))
random_colors = ['#FF0000', '#FFFF00', '#FFFFF0', '#FFFFFF', '#00000F']
colors = [random.choice(random_colors) for _ in titles]
sizes = [(50 * random.random()) ** 2 for _ in titles]
plt.gca().xaxis.set_major_formatter(FuncFormatter(format_titles))
plt.xlabel('ग्रैंड स्लैम खिताब')
plt.ylabel('टेनिस खिलाड़ी')
plt.scatter(titles, players, c=colors, s=sizes, alpha=0.1)
plt.title('टेनिस खिलाड़ी: खिताब vs रैंक (रंग/आकार रैंडम)')
plt.show()
उन्नत विचार
- रंग को किसी तीसरे चर (जैसे जीत दर) से मैप करें।
- आकार को चौथे चर (जैसे टूर्नामेंट खेले) से मैप करें।
cmapपैरामीटर का उपयोग करके कलरमैप लागू करें।alphaपारदर्शिता के लिए (0-1)।
समय जटिलता
प्लॉटिंग O(n) जहां n डेटा बिंदुओं की संख्या है।