在Python和Matplotlib中,很容易将绘图显示为弹出窗口或将绘图保存为PNG文件.我怎样才能将绘图保存为RGB格式的numpy数组?
我在wxPython中编写了一个小应用程序,它有一个matplotlib图(使用wxagg后端)面板.我想为用户添加将当前在图中绘制的X,Y数据导出到文本文件的能力.有没有非侵入性的方法来做到这一点?我搜索了很多,似乎找不到任何东西,虽然我觉得它非常简单,就在我面前.
我可以肯定地获取数据并将其存储在绘制时的某个位置,并使用它 - 但这将是相当侵入性的,进入我的代码的较低级别.如果我能做一些像以下那样简单的事情,那将会更容易,更普遍:
x = FigurePanel.axes.GetXData()
y = FigurePanel.axes.GetYData()
Run Code Online (Sandbox Code Playgroud)
希望这有点意义:)
非常感谢!任何帮助是极大的赞赏!
编辑:澄清,我想知道怎么做是获取X,Y数据.之后写入文本文件是微不足道的;)
该pandas.plot.kde()函数可以方便地绘制连续随机变量的估计密度函数。它将数据x作为输入,并显示分箱输入的概率p(x)作为其输出。
如何提取它计算的概率值?我想要一个包含内部计算的概率值的数组或 pandas 系列,而不是仅仅绘制带宽样本的概率。
如果这不能用 pandas kde 完成,请告诉我 scipy 或其他中的任何等效项
我正在用Python和Tkinter做一个项目。我可以绘制数据数组,并且还实现了一个函数,当我用鼠标单击时可以在图上添加注释,但是现在我需要我添加的所有注释的列表。有什么办法吗?这是我添加注释的功能:
def onclick(self, event):
clicked = []
key = event.key
x = event.xdata
y = event.ydata
x_d = min(range(len(self.x_data)), key=lambda i: abs(self.x_data[i] - x))
local_coord = self.x_data[x_d - 6:x_d + 6]
x_1 = max(local_coord)
indx = np.where(self.x_data == x_1)[0][0]
y_1 = self.y_data[indx]
if key == "v":
self.ax.annotate("{0}nm".format(int(x_1)), size=25,
bbox=dict(boxstyle="round",fc="0.8"),
xy=(x_1, y_1), xycoords='data',
xytext=(x_1, y_1+50), textcoords='data',
arrowprops=dict(arrowstyle="-|>",
connectionstyle="bar,fraction=0",
))
self.canvas.draw()
Run Code Online (Sandbox Code Playgroud)