gpt4 book ai didi

python - 如何在 Python 中获得漂亮的 API Plot?

转载 作者:太空宇宙 更新时间:2023-11-04 10:32:40 27 4
gpt4 key购买 nike

我有一个算法可以自动在我的 GUI 的绘图区域上绘制数据。有我用来这样做的代码:

self.figure = Figure(figsize=(5,4), dpi=100)
self.graph = self.figure.add_subplot(111)
self.canvas = FigureCanvasTkAgg(self.figure, master=self.root)
self.canvas.show()
self.canvas.get_tk_widget().pack(side=LEFT, fill=BOTH, expand=1)
self.canvas._tkcanvas.pack(fill=BOTH, expand=1)

下面是我如何将相关点显示到绘图区域:

if eigenvalue > self.eigenvalueThreshold:
if self.previousEigenvalue <= self.eigenvalueThreshold:
main.graph.scatter(windowNumber, eigenvalue, c="red")
else:
main.graph.scatter(windowNumber, eigenvalue, c="yellow")
else:
main.graph.scatter(windowNumber, eigenvalue, c="blue")
self.previousEigenvalue = eigenvalue
main.canvas.show()

我得到这样的结果,其中缩放是根据数据点集的权重自动完成的:

http://hpics.li/14e5717

我想知道是否有机会像这样绘制我的数据:

enter image description here

你有什么想法吗?

最佳答案

对于您想要的,使用 fill_between 比使用 fill 更容易。如果您使用 fill,您将不得不担心添加顶点以创建闭合多边形。 fill_between 自动填充数据和常数值(默认为 0)或另一条曲线之间的区域。

例如:

import matplotlib.pyplot as plt
import numpy as np

# Generate some data to plot...
x = np.arange(1000)
y = np.random.normal(0, 1, y.size).cumsum()
y[y < 0] *= -1

fig, ax = plt.subplots()
# Fill the region between your curve and 0 with red...
ax.fill_between(x, y, facecolor='red', edgecolor='none')

# Optional...
ax.grid(True, color='white', linewidth=2, linestyle='-')
ax.set(axisbelow=True, axis_bgcolor='lightgray')
ax.tick_params(direction='out')

plt.show()

enter image description here

关于python - 如何在 Python 中获得漂亮的 API Plot?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25427127/

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