Matplolib अब 'एनोटेशन लाइनों' के लिए अनुमति देता है क्योंकि ओपी मांग रहा था। annotate()
समारोह को जोड़ने पथ के कई रूपों और एक बिना सिर और tailess तीर, यानी, एक सरल रेखा, उनमें से एक है की अनुमति देता है।
ax.annotate("",
xy=(0.2, 0.2), xycoords='data',
xytext=(0.8, 0.8), textcoords='data',
arrowprops=dict(arrowstyle="-",
connectionstyle="arc3, rad=0"),
)
में प्रलेखन यह आपको पहले तर्क के रूप में एक खाली स्ट्रिंग के साथ ही एक तीर आकर्षित कर सकते हैं कहते हैं।
ओपी के उदाहरण से:
%matplotlib notebook
import numpy as np
import matplotlib.pyplot as plt
np.random.seed(5)
x = np.arange(1, 101)
y = 20 + 3 * x + np.random.normal(0, 60, 100)
plt.plot(x, y, "o")
# draw vertical line from (70,100) to (70, 250)
plt.annotate("",
xy=(70, 100), xycoords='data',
xytext=(70, 250), textcoords='data',
arrowprops=dict(arrowstyle="-",
connectionstyle="arc3,rad=0."),
)
# draw diagonal line from (70, 90) to (90, 200)
plt.annotate("",
xy=(70, 90), xycoords='data',
xytext=(90, 200), textcoords='data',
arrowprops=dict(arrowstyle="-",
connectionstyle="arc3,rad=0."),
)
plt.show()
जिस तरह से गॉकेटमेट के उत्तर में दृष्टिकोण है, आप रंग, रेखा की चौड़ाई, रेखा शैली, आदि चुन सकते हैं।
यहां कोड के एक हिस्से में परिवर्तन किया गया है जो दो उदाहरण लाइनों में से एक को लाल, व्यापक और 100% अपारदर्शी बना देगा।
# draw vertical line from (70,100) to (70, 250)
plt.annotate("",
xy=(70, 100), xycoords='data',
xytext=(70, 250), textcoords='data',
arrowprops=dict(arrowstyle="-",
edgecolor = "red",
linewidth=5,
alpha=0.65,
connectionstyle="arc3,rad=0."),
)
आप एडजस्ट करने वाली लाइन से वक्र को एडजस्ट करके भी जोड़ सकते हैं connectionstyle
।