我不确定这是否是可以在SE中提出的合适问题。
我想知道是否可以交互式地编辑matplotlib
图。即,
# plot
plt.plot(x, y[1])
plt.plot(x, -1.0*y[2])
plt.show()
将会打开一个带有绘图的tk
屏幕。现在,假设我想要修改linewidth
或输入x/y label
,是否可以交互式地进行操作(可以在屏幕上使用鼠标,例如xmgrace
,或者从类似于gnuplot
的命令提示符中进行)?
我不确定这是否是可以在SE中提出的合适问题。
我想知道是否可以交互式地编辑matplotlib
图。即,
# plot
plt.plot(x, y[1])
plt.plot(x, -1.0*y[2])
plt.show()
将会打开一个带有绘图的tk
屏幕。现在,假设我想要修改linewidth
或输入x/y label
,是否可以交互式地进行操作(可以在屏幕上使用鼠标,例如xmgrace
,或者从类似于gnuplot
的命令提示符中进行)?
你可以使用pylustrator进行简单的交互式编辑
pip install pylustrator
我认为您想要做的一种方法是使用ipython。ipython是一个交互式的Python环境,它随许多Python发行版一起提供。
以下是一个快速示例:
在cmd中键入>>> ipython
,这将加载ipython终端。在ipython中键入:
import matplotlib.pyplot as plt
fig, ax = plt.subplots(1, 1)
ax.plot([1, 2, 3, 4, 5], [1, 2, 3, 4, 5], 'r-')
fig.show()
ax.set_xlabel('XLABEL')
或ax.set_yticks([0, 5])
。要在屏幕上显示它,您需要重新绘制画布,方法是调用fig.canvas.draw()
。fig.get_
然后按tab键,即可获得以fig.get_开头的所有函数的完整列表,这非常有帮助!run SCRIPT.py
,同时可以访问在脚本中定义的所有变量。然后可以像上面那样使用它们。在qt4agg matplotlib后端中有一个导航工具栏,您可以轻松地添加它。虽然不多,但至少具有很好的可扩展性...
这不是一个可工作的代码,只是一些片段:
from matplotlib.backends.backend_qt4agg import FigureCanvas
from matplotlib.backends.backend_qt4agg import NavigationToolbar2QT as NavigationToolbar
from matplotlib.figure import Figure
from matplotlib.backends.qt_compat import QtCore, QtWidgets, is_pyqt5
self.figure = Figure(figsize=(5, 3))
self.canvas = FigureCanvas(self.figure)
self.addToolBar(QtCore.Qt.BottomToolBarArea,
NavigationToolbar(self.canvas, self))
Self是从QtGui.QMainWindow派生出来的窗口对象。