gpt4 book ai didi

python - 在 matplotlib 中绘制曲线

转载 作者:行者123 更新时间:2023-11-30 23:43:05 25 4
gpt4 key购买 nike

对于子图 (self.intensity),我想对图表下方的区域进行着色。

我尝试了这个,希望它是正确的语法:

self.intensity.fill_between(arange(l,r), 0, projection)

我打算在(l,r)整数限制内对投影 numpy数组进行着色。

但是它给了我一个错误。我该如何正确地做到这一点?

<小时/>

这是回溯:

Traceback (most recent call last):
File "/usr/lib/pymodules/python2.7/matplotlib/backends/backend_wx.py", line 1289, in _onLeftButtonDown
FigureCanvasBase.button_press_event(self, x, y, 1, guiEvent=evt)
File "/usr/lib/pymodules/python2.7/matplotlib/backend_bases.py", line 1576, in button_press_event
self.callbacks.process(s, mouseevent)
File "/usr/lib/pymodules/python2.7/matplotlib/cbook.py", line 265, in process
proxy(*args, **kwargs)
File "/usr/lib/pymodules/python2.7/matplotlib/cbook.py", line 191, in __call__
return mtd(*args, **kwargs)
File "/root/dev/spectrum/spectrum/plot_handler.py", line 55, in _onclick
self._call_click_callback(event.xdata)
File "/root/dev/spectrum/spectrum/plot_handler.py", line 66, in _call_click_callback
self.__click_callback(data)
File "/root/dev/spectrum/spectrum/plot_handler.py", line 186, in _on_plot_click
band_data = self._band_data)
File "/root/dev/spectrum/spectrum/plot_handler.py", line 95, in draw
self.intensity.fill_between(arange(l,r), 0, projection)
File "/usr/lib/pymodules/python2.7/matplotlib/axes.py", line 6457, in fill_between
raise ValueError("Argument dimensions are incompatible")
ValueError: Argument dimensions are incompatible

最佳答案

您似乎正在尝试填充从 l 到 r 的投影部分。 fill_ Between 期望 x 和 y 数组的长度相等,因此您不能期望仅填充曲线的一部分。

要获得您想要的内容,您可以执行以下任一操作:1.仅将需要填充的投影的一部分发送给命令;并分别绘制其余的投影。2. 发送一个单独的 bool 数组作为定义要填充的部分的参数。请参阅 documentation !

对于前一种方法,请参见下面的示例代码:

from pylab import *

a = subplot(111)

t = arange(1, 100)/50.
projection = sin(2*pi*t)

# Draw the original curve
a.plot(t, projection)
# Define areas to fill in
l, r = 10, 50
# Fill the areas
a.fill_between(t[l:r], projection[l:r])
show()

关于python - 在 matplotlib 中绘制曲线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11032458/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com