代码之家  ›  专栏  ›  技术社区  ›  Markus T.

如何在matplotlib图的顶部创建用户创建的文本框?

  •  -1
  • Markus T.  · 技术社区  · 7 年前

    出身背景

    我把这个软件的右图数据做成箱线图和散点图。为了使图形更具信息性和清晰性,我希望用户如果想添加注释,可以在图形顶部拖动并创建一个文本框。这样,当人们分享数字时,可以通过这些注释来解释。

    我使用注释功能在屏幕右上角创建了一个文本框,告诉用户使用了多少数据点,但这种方法几乎没有问题。

    self.axes.text(.98, .98, 'Number of Data Points: {}'.format(len(self.cleanedY)),
                       verticalalignment='top', horizontalalignment='right',
                        transform=self.axes.transAxes,
                       color='black', fontsize=9.5)
    
    1. 必须要求用户进行大量输入。这包括位置坐标、实际文本框、对齐类型。
    2. 我知道如何收集这些信息的唯一方法是创建一个Qdialog窗口来提示所有这些输入,这太麻烦了。

    这是难以置信的低效和不灵活。我想要一种让用户在绘图图上轻松创建这些注释的方法。

    太长,读不下去了

    1 回复  |  直到 7 年前
        1
  •  0
  •   NoviceCoder    7 年前

    我不确定这是否是你想要的,但我在网上找到了这个类似的例子。它不允许用户创建文本框,但可以向图形中添加注释,并允许您四处移动。

    http://scipy-cookbook.readthedocs.io/items/Matplotlib_Drag_n_Drop_Text_Example.html