matplotlib 如何在adjust_text中强制在图形下绘制局部最小值?

20jt8wwn  于 2023-08-06  发布在  其他
关注(0)|答案(1)|浏览(71)

我得到了这个图表:

# graph plot
plt.plot(
    df_for_pred['date'],
    df_for_pred['mentee_per_mentor'],
    color="r"
)
plt.title('Mentee per mentor dynamic')
plt.grid(False)

# graph_annotates contains local highs and lows
labels = [plt.text(graph_annotates['date'][i], graph_annotates['mentee_per_mentor'][i],
                   f"{graph_annotates['mentee_per_mentor'][i]:.2f}") for i in graph_annotates.index]

adjust_text(labels)

plt.show()

字符串


的数据
如何强制低点在图下(高点在图下)?

eh57zj3b

eh57zj3b1#

我没有尝试过,因为我没有类似的数据,所以我的代码可能需要一些调整。但是这个想法是与下一个值进行比较,如果next > current,则将y坐标减小一点。当然,你不能为最后一个值做这件事,你必须单独标记,因为没有下一个值。

y_s = [graph_annotates['mentee_per_mentor'][i] - 0.1 
       if (graph_annotates['mentee_per_mentor'][i + 1] > graph_annotates['mentee_per_mentor'][i]) 
       else graph_annotates['mentee_per_mentor'][i] 
       for i in graph_annotates.index[:-1]]

labels = [plt.text(graph_annotates['date'][i], y_s[i],
                   f"{graph_annotates['mentee_per_mentor'][i]:.2f}")
          for i in graph_annotates.index[:-1]]

字符串

相关问题