भरने के लिए pyplot.contourf पर समोच्च linestroke छुपाएं मेरे पास नक्शा की छवियां बनाने के लिए एक पालतू परियोजना है, जहां मैं इलाके की ऊंचाई के समोच्च साजिश पर सड़कों और अन्य सामान खींचता हूं। इसका उद्देश्य पहाड़ बाइक मार्गों की योजना बनाना है (मैंने अतीत में कुछ वेक्टरियल चित्रों को हाथ से बनाया है, और वे विज़ुअलाइज़ेशन के लिए बहुत अच्छा काम करते हैं)।केवल
वर्तमान में, मैं डाउनलोड GeoTiff में डिजिटल एलिवेशन मॉडल,, यहां से: http://www.ecologia.ufrgs.br/labgeo/arquivos/downloads/dados/SRTM/geotiff/rs.rar
और फिर GDAL और matplotlib contourf
समारोह के साथ साजिश बनाने के लिए:
from osgeo import gdal
import matplotlib
import matplotlib.pyplot as plt
from pylab import cm
import numpy
f = 'rs.tif'
elev = gdal.Open(f)
a = elev.GetRasterBand(1).ReadAsArray()
w = elev.RasterXSize
h = elev.RasterYSize
print w, h
altura = (0.35, 0.42)
largura = (0.70, 0.82)
a = a[int(h*altura[0]):int(h*altura[1]),
int(w*largura[0]):int(w*largura[1])]
cont = plt.contourf(a, origin='upper', cmap=cm.gist_earth, levels=numpy.arange(0,1000,20))
plt.title('Altitudes - max: %d m; min: %d m' % (numpy.amax(a), numpy.amin(a)))
plt.show()
कौन देता है:
समस्या यह है कि समोच्च रेखाएं हैं "सफेद", और कुछ दृश्य प्रदूषण उत्पन्न करते हैं, जो अवांछित है क्योंकि मैं बाद में सड़कों और नदियों को साजिश करना चाहता हूं।
तो, मैं, जिस तरह से contourf
इन लाइटर पंक्तियां बनाने के संशोधित करने के लिए कोशिश कर रहा हूँ या तो पैरामीटर सेटिंग के माध्यम से, या हैक के माध्यम से (स्रोत कोड को बदलने), एक के समान यहां प्रस्तावित:
How to format contour lines from Matplotlib
इसके अलावा , यदि कोई जानता है कि अन्य पुस्तकालयों का उपयोग करके, इस तरह के मानचित्र को और अधिक सुरुचिपूर्ण तरीके से कैसे उत्पन्न किया जाए, तो मैं टिप की बहुत सराहना करता हूं!
पढ़ने के लिए धन्यवाद।
ठीक है, बेशक यह अब स्वीकार्य उत्तर है, क्योंकि यह संभवतः और गैर-हैकली अंतर्निहित समस्या को हल करने लगता है। इतने सारे पोस्ट करने के लिए भी धन्यवाद समय !! – heltonbiker
धन्यवाद @heltonbiker इसे अद्यतन करने के लिए। सलाह इस समाधान की चीज यह है कि यह फ़ाइल आकार में वृद्धि नहीं करता है और छवि गुणवत्ता को कम नहीं करता है। – divenex
बहुत बढ़िया! मैं इसके लिए इंतजार कर रहा हूं, और मुझे उम्मीद है कि अगली बार जब मुझे इसकी ज़रूरत है तो मैं अपनी पसंदीदा पोस्ट को देखना नहीं भूलूंगा;) –