繁体   English   中英

如何在matplotlib的折线图中绘制最大值点?

[英]How do I plot the point of max value on a line graph in matplotlib?

因此我正在运行Python 3.4,并且想知道如何使用matplotlib将最大值绘制为当前线性图上的一个点。 我当前的图形非常简单:它有两条线,其中y值为得分,而x值为时间。 我试图在达到最高分的时间在每条线上绘制一个点,并同时显示其坐标:(最佳时间,最高分)。 有人知道matplotlib是否有办法吗? 提前致谢。

我最终要做的是使用两个图(time_list是x轴值,score是y值列表):

ordered_time = [time_list for (score,time_list) in sorted(zip(score,time_list))]
best_time = ordered_time[-1]
max_coords = '('+str(best_time)+', ' + str("%.4f" % (max(score)))+')'
max_point = pl.plot(best_time, max(score), 'bo', label="(Opt. Time, Max Score)")
pl.text(best_time, max(score), max_coords)
... (insert rest of stuff for your graph)

这将找到特定线上的最大点,在其上绘制一个点,然后用其坐标标记该点。

如果要使用除坐标以外的其他文本标签,则只需将最后一行中的“ max_coords”替换为所需的任何字符串。

如果要查找每个行的最大值,则只需具有多个x和y列表并执行相同的过程(例如,使用“ time_list_1”,“ time_list_2”,...和“ score_1“,”得分_2“ ...)

希望这对某人有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM