Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

Matplotlib में वृत्त/पैच के इंटरसेक्शन को रंगना

दो ओवरलैपिंग वृत्तों के इंटरसेक्शन क्षेत्र को अलग रंग से हाइलाइट करने के लिए Shapely लाइब्रेरी का उपयोग ज्यामितीय संचालन के लिए और Descartes का उपयोग पैच बनाने के लिए किया जाता है।

चरण

  • फिगर का आकार सेट करें और पैडिंग समायोजित करें।
  • दो बिंदु a और b बनाएं।
  • दोनों बिंदुओं से बाएं, दाएं और मध्य क्षेत्र प्राप्त करें।
  • gca() मेथड से वर्तमान एक्सिस प्राप्त करें।
  • विभिन्न रंगों और सेक्शन के साथ पैच जोड़ें।
  • X और Y अक्ष का स्केल सेट करें।
  • पहलू अनुपात को समान सेट करें।
  • एक्सिस बंद करें।
  • फिगर प्रदर्शित करने के लिए show() मेथड का उपयोग करें।

उदाहरण कोड

import shapely.geometry as sg
import matplotlib.pyplot as plt
import descartes

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

a = sg.Point(-.5, 0).buffer(1.)
b = sg.Point(0.5, 0).buffer(1.)

left = a.difference(b)
right = b.difference(a)
middle = a.intersection(b)

ax = plt.gca()
ax.add_patch(descartes.PolygonPatch(left, fc='b', ec='k'))
ax.add_patch(descartes.PolygonPatch(right, fc='r', ec='k'))
ax.add_patch(descartes.PolygonPatch(middle, fc='g', ec='k'))

ax.set_xlim(-2, 2)
ax.set_ylim(-2, 2)
ax.set_aspect('equal')
ax.axis('off')
plt.show()

आउटपुट

दो ओवरलैपिंग वृत्त दिखाए जाएंगे: बाएं भाग नीला, दाएं भाग लाल, और इंटरसेक्शन क्षेत्र हरा होगा।

Matplotlib में वृत्त/पैच के इंटरसेक्शन को रंगना

  1. Matplotlib में हैच लाइनविड्थ कैसे बदलें? Matplotlib में हैच लाइनविड्थ कैसे बदलें?

    हैच पैटर्न की लाइनविड्थ बदलने के लिए plt.rcParams[hatch.linewidth] सेट करें। चरण फिगर साइज़ और ऑटोलेआउट सेट करें। x, y = sin(x) डेटा जनरेट करें। plt.rcParams[hatch.linewidth] = 1 सेट करें। plt.scatter() में marker=s, hatch=/, linewidth=0.05 से स्क्वायर मार्कर्स प्लॉट करें। plt.show() से दिखाएं। उद

  1. Matplotlib में 3D प्लॉट का आस्पेक्ट रेशियो सेट करना Matplotlib में 3D प्लॉट का आस्पेक्ट रेशियो सेट करना

    Matplotlib में 3D प्लॉट का आस्पेक्ट रेशियो सेट करने के लिए, हम निम्नलिखित चरण अपना सकते हैं: figure() मेथड का उपयोग करके एक नया फिगर बनाएं या मौजूदा फिगर को सक्रिय करें। projection=3d के साथ वर्तमान एक्सिस प्राप्त करें, यदि आवश्यक हो तो एक बनाएं। NumPy का उपयोग करके डेटा पॉइंट्स R, Y और z बना

  1. Python के Matplotlib में गोले की सतह पर पॉइंट्स प्लॉट करना Python के Matplotlib में गोले की सतह पर पॉइंट्स प्लॉट करना

    Python में गोले की सतह पर पॉइंट्स प्लॉट करने के लिए, हम plot_surface() मेथड का उपयोग कर सकते हैं। चरण figure() मेथड का उपयोग करके नया फिगर बनाएं या मौजूदा फिगर सक्रिय करें। add_subplot() मेथड का उपयोग करके 3d प्रोजेक्शन के साथ सबप्लॉट्स का सेट जोड़ें। वेरिएबल r इनिशियलाइज़ करें। NumPy का उप