मेरे पास 2 डी arrays में प्रदर्शित कई (27) छवियां हैं जिन्हें मैं imshow() के साथ देख रहा हूं। मुझे हर छवि में एक ही स्थान पर ज़ूम इन करने की आवश्यकता है। मुझे पता है कि मैं मैन्युअल रूप से ज़ूम कर सकता हूं, लेकिन यह थकाऊ है और पर्याप्त सटीक नहीं है। क्या पूरी चीज के बजाय छवि के एक विशिष्ट खंड को प्रोग्रामेटिक रूप से निर्दिष्ट करने का कोई तरीका है?Matplotlib imshow ज़ूम फ़ंक्शन?
14
A
उत्तर
11
आप plt.xlim
और plt.ylim
इस्तेमाल कर सकते हैं क्षेत्र स्थापित करने के लिए साजिश रची जा करने के लिए:
import matplotlib.pyplot as plt
import numpy as np
data=np.arange(9).reshape((3,3))
plt.imshow(data)
plt.xlim(0.5, 1.5)
plt.ylim(0.5,1.5)
plt.show()
3
आप अपनी छवि के बाकी की जरूरत नहीं है, तो आप एक समारोह है कि निर्देशांक आप चाहते हैं पर चित्र काटने के लिए परिभाषित कर सकते हैं और फिर फसल छवि प्रदर्शित करें।
नोट: यहां 'x' और 'y' दृश्य x और y (क्रमशः छवि पर क्षैतिज अक्ष और लंबवत धुरी) हैं, जिसका अर्थ है कि यह वास्तविक x (पंक्ति) और y (कॉलम) की तुलना में उलटा हुआ है) NumPy सरणी का।
import scipy as sp
import numpy as np
import matplotlib.pyplot as plt
def crop(image, x1, x2, y1, y2):
"""
Return the cropped image at the x1, x2, y1, y2 coordinates
"""
if x2 == -1:
x2=image.shape[1]-1
if y2 == -1:
y2=image.shape[0]-1
mask = np.zeros(image.shape)
mask[y1:y2+1, x1:x2+1]=1
m = mask>0
return image[m].reshape((y2+1-y1, x2+1-x1))
image = sp.lena()
image_cropped = crop(image, 240, 290, 255, 272)
fig = plt.figure()
ax1 = fig.add_subplot(121)
ax2 = fig.add_subplot(122)
ax1.imshow(image)
ax2.imshow(image_cropped)
plt.show()
संबंधित मुद्दे
- 1. Matplotlib imshow
- 2. matplotlib साजिश और imshow
- 3. Matplotlib imshow: डेटा घुमाया गया?
- 4. पायथन matplotlib imshow() कस्टम टिकटें
- 5. Matplotlib imshow अक्ष से मिलान करने के लिए imshow?
- 6. matplotlib `imshow (interpolation = 'निकटतम') क्या करता है?
- 7. Matplotlib: 3 डी प्लॉट में imshow
- 8. Matplotlib imshow() "फिट चौड़ाई" तक फैला है
- 9. matplotlib के लिए imshow में रंग मान?
- 10. 3 डी के लिए imshow? (पायथन/Matplotlib)
- 11. Imshow: सीमा और पहलू
- 12. matplotlib
- 13. matplotlib
- 14. matplotlib
- 15. matplotlib
- 16. matplotlib
- 17. Matplotlib
- 18. Matplotlib/Pyplot: सबप्लॉट्स को एक साथ ज़ूम कैसे करें?
- 19. imshow और histogram2d: उन्हें
- 20. Matplotlib
- 21. matplotlib: साजिश का उपयोग करते समय सीमाएं और उसी अक्ष में imshow
- 22. Matplotlib: साजिश के लिए imshow में set_data का कोई प्रभाव नहीं
- 23. मैं छवि खींचने के बिना matplotlib में imshow के पैमाने को कैसे बदलूं?
- 24. Matplotlib: quiver और imshow superimposed, मैं दो colorbars कैसे सेट कर सकते हैं?
- 25. matplotlib
- 26. ज़ूम हाईचार्ट्स
- 27. matplotlib
- 28. Matplotlib autoscale
- 29. matplotlib?
- 30. matplotlib
धन्यवाद! मुझे एहसास हुआ कि मैं सरणी प्री-डिस्प्ले को भी फसल कर सकता हूं, लेकिन आपकी विधि शेष सरणी को सुरक्षित रखती है। – Andruf
उत्कृष्ट परिचय में * [विज्ञान के लिए पायथन के साथ शुरू करना] (http://scipy-lectures.github.io/) *, यह matplotlib खंड में है, * [1.4। Matplotlib: साजिश, 1.4.2.4। सीमा तय करना] (http://scipy-lectures.github.io/intro/matplotlib/matplotlib.html#setting-limits) *। –