首页 > 解决方案 > 将标记放在特定的 x 值上

问题描述

目前,我正在使用 matplotlib 绘制两个从外部源提取的数据列表。一切都完美地绘制了图表,但是,总会有一个我想用星号标记的 x 值。

截至目前,matplotlib 在我的两个列表中的 (x, y) 对上放了一个星号。反过来,这使得这条线看起来很大,因为它只是从上到下被星星覆盖,唯一没有被 matplotlib 库生成的星星覆盖的地方。

在浏览了 matplotlib 的文档后,我似乎无法理解。一个结论。但是,文档确实教我如何设置标记大小和标记。

在这里,您可以假设 list_one 和 list_two 具有相同的长度,并且都用整数填充。

import matplotlib.pyplot as plt

plt.loglog(list_one, list_two, marker="*", markersize=15)
plt.show()

如前所述,它工作得非常好,我似乎无法弄清楚如何在图表上的一个特定点上放置一个标记。

标签: pythonmatplotlibplot

解决方案


试试这个。

import matplotlib.pyplot as plt
%matplotlib inline

list_one = [x for x in range(10)]
list_two = [x+13 for x in range(10)]

spi = 9 # specific_value_index

plt.subplot();
plt.loglog(list_one[spi], list_two[spi], marker="*", markersize=15)
plt.show()

推荐阅读