我想找到图形原点的相对位置,以便在它内部显示正确的鼠标位置。但是图类的大小和pos属性也与标签有关。
如何在图表上找到点0,0的绝对位置?
答案 0 :(得分:2)
有一个成员Graph._plot_area。它是一个StencilView,它的位置和大小等于图形的绘图区域,这意味着它的范围从xmin,ymin的开始到像素位置的xmax,ymax。
如果图形点x,y = 0,0在视图中,它应该等于_plot_area.pos,但是如果0,0不在视图中,则必须计算预期使用比率的位置对于x和y轴,它们可以通过以下方式计算:
x_ratio =(xmax - xmin)/ _plot_area.width y_ratio =(ymax - ymin)/ _plot_area.height
和计算点: x = xmin + x_ratio *(x - xmin) y = ymin + y_ratio *(y - ymin)
希望这有帮助!