我目前正在使用matplotlib.pyplot.contour從二維函式中提取某些水平圖。為了便于討論,這是從此處提取的示例:
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
mpl.rcParams['lines.color'] = 'k'
mpl.rcParams['axes.prop_cycle'] = mpl.cycler('color', ['k'])
x = np.linspace(-9, 9, 400)
y = np.linspace(-5, 5, 400)
x, y = np.meshgrid(x, y)
a = .3
plt.contour(x, y, (y**2 - 4*a*x), [0], colors='k')
plt.show()
我正在根據這個問題的答案從輪廓中提取資料以供以后操作。
我需要多次執行此程序,所以我想知道是否有一種方法可以不執行matplotlib或跳過繪圖階段。非常感謝!
uj5u.com熱心網友回復:
如果有人面臨同樣的挑戰,我在這個問題的答案之一中找到了合適的解決方案。
它使用包中實作的行進方塊方法scikit-image。例如:_
import numpy as np
from skimage import measure
# Construct some test data
x, y = np.ogrid[-np.pi:np.pi:100j, -np.pi:np.pi:100j]
r = np.sin(np.exp((np.sin(x)**3 np.cos(y)**2)))
# Find contours at a constant value of 0.8
contours = measure.find_contours(r, 0.8)
評論中討論了一些注意事項,但現在matplotlib.pyplot.contour如果需要,您還有另一種選擇。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/438521.html
標籤:Python matplotlib
