使用Matplotlib着色

tzcvj98z  于 2023-08-06  发布在  其他
关注(0)|答案(1)|浏览(85)

我试图对发射线下的区域进行着色,但在连续体(由红色直线表示)处切断着色时遇到了麻烦。有人能解决这个问题吗?我一直找不到答案。
这些代码行处理绘图和区域着色。
` #绘制光谱

plt.plot(wavelength1, fluxe1, color='blue', label='Spectrum')
plt.scatter(x_values, [yl, yr], color='red', label='Data Points')
plt.plot(x_values, y_values, color='red', label='Linear Equation')

# Shade the region for equivalent width calculation
plt.fill_between(wavelengths, fluxes, color='gray', alpha=0.5, label='Equivalent Width')

# Plot the intersection point
plt.axvline(x_intersect, color='red', linestyle='--', label='Intersection Point')

# Set the plot limits
plt.xlim(5650, 5750)
plt.ylim(0, 2.5)

# Add labels and legend
plt.xlabel('Wavelength (angstroms)')
plt.ylabel('Flux')
plt.legend()

# Show the plot
plt.show()

字符串
`
enter image description here
以前列出的…

nwlls2ji

nwlls2ji1#

plt.fill_between可以接受第二个高度参数y2,这样你就可以在两条曲线之间填充(默认情况下它被设置为0)。

plt.fill_between(x=wavelengths, y1=fluxes, y2=y_values)

字符串
这只在len(fluxes) == len(y_values)的情况下有效,但您没有给予足够的信息来运行代码,因此我无法测试它。

相关问题