Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matplotlib Qt光标未显示_Qt_Matplotlib - Fatal编程技术网

Matplotlib Qt光标未显示

Matplotlib Qt光标未显示,qt,matplotlib,Qt,Matplotlib,我将MacOSX10.11.16与PyQt5和Matplotlib一起使用。我正在将MPL绘图环境嵌入到Qt应用程序中。我想要两件我无法解决的事情: 每当我在绘图上悬停时,我想要一个十字光标。 我希望绘图占据整个分配区域,请参见下图。 我将其编码如下: self.fig = plt.figure() self.fig.patch.set_facecolor('#000000') self.ax = self.fig.add_axes([0,0,1,1]) self.ax.set_facecol

我将MacOSX10.11.16与PyQt5和Matplotlib一起使用。我正在将MPL绘图环境嵌入到Qt应用程序中。我想要两件我无法解决的事情:

每当我在绘图上悬停时,我想要一个十字光标。 我希望绘图占据整个分配区域,请参见下图。 我将其编码如下:

self.fig = plt.figure()
self.fig.patch.set_facecolor('#000000')

self.ax = self.fig.add_axes([0,0,1,1])
self.ax.set_facecolor('#000000')
self.ax.title.set_color('#FFFFFF')
self.ax.xaxis.label.set_color('#FFFFFF')
self.ax.yaxis.label.set_color('#FFFFFF')
self.ax.xaxis.set_label_coords(0.5,0.12)
self.ax.yaxis.set_label_coords(0.12,0.5)
self.ax.xaxis.label.set_size(20)
self.ax.yaxis.label.set_size(20)
self.ax.spines['left'].set_visible(False)
self.ax.spines['top'].set_visible(False)
self.ax.spines['right'].set_visible(False)
self.ax.spines['bottom'].set_visible(False)
self.ax.tick_params('both',which='both',length=7,width=1,pad=-30,direction='in',colors='#FFFFFF')

# Create a canvas widget for Qt to use.
self.canvas = FigureCanvas(self.fig)
# self.canvas.setCursor(QtGui.QCursor(QtCore.Qt.CrossCursor))
# self.canvas.setCursor(QtCore.Qt.CrossCursor)
# cursor = mpl.widgets.Cursor(self.ax, useblit=True, color='red', linewidth=2)

# Refresh the canvas.
self.canvas.draw()
这3条带注释的光标行是我尝试这样做的,但它们似乎不起作用

对于我的绘图尺寸,我希望轴一直延伸到工作区域的末端。这是一个动态大小的区域。有可能吗


这个问题不清楚你是想让轴占据所有的空间还是图像。在前一种情况下,使用

self.ax.set_aspect("auto")
在后一种情况下,使用

self.ax.set_aspect("equal", "datalim")

但我无法重现光标问题。这三个选项对我来说都很好

先生,你是一个传奇!这是完美的平等datalim选项。根据游标,我有点不明白为什么它拒绝更改游标。改天我会详细调查的。谢谢你的帮助@ImportanceOfBeingErnest