【问题标题】:Arrow annotation in an overcrowded scatterplot matplotlib过度拥挤的散点图 matplotlib 中的箭头注释
【发布时间】:2017-09-27 00:48:10
【问题描述】:

我正在尝试在散点图中标注两个点,但是由于过度拥挤的性质,它们变得非常难以看到。

无论如何我可以放置一个箭头或指针,指向有问题的点,但在远离聚类观察的空白处注释名称?

plt.scatter(afb[:,0], afb[:,1], c="yellow")
plt.title("Arrow Scatter", weight="bold", fontsize=20)
plt.annotate("James", (a[812,0], a[812,1]))
plt.annotate("Jane", (a[1067,0], a[1067,1]))
plt.ylabel("2", fontsize=16)
plt.xlabel("1", fontsize=16)
plt.show()

谢谢

【问题讨论】:

    标签: python matplotlib


    【解决方案1】:

    您需要指定注释文本的位置。

    import matplotlib.pyplot as plt
    
    xy = range(20)
    plt.scatter(xy, xy, c='green', vmin=0, vmax=20, s=20)
    plt.title("Arrow Scatter", weight="bold", fontsize=20)
    
    # prep anno-text data
    text_location = (2,15)
    target_point = (xy[8],xy[8])
    
    plt.annotate("Jane", target_point, text_location, 'data', \
                    arrowprops=dict(arrowstyle="-|>", \
                    connectionstyle="angle3", lw=1), \
                    size=16, ha="center")
    
    plt.ylabel("2", fontsize=16)
    plt.xlabel("1", fontsize=16)
    plt.show()
    

    生成的图像:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-22
      • 2012-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-19
      相关资源
      最近更新 更多