Python >> matplotlib:如何获取当前图表上的线条数量?

4
有没有一种方法可以获取 matplotlib 图中当前行数的数字?我发现自己使用计数器和乘数来遍历颜色值设置 colormap 中的颜色,这似乎不太符合 Python 的习惯。
1个回答

13

一个axes中的所有Line2D对象都被存储在一个列表中。

ax.lines  

如果您只使用简单的线图,则上面列表的长度就足够了。

如果您使用plt.errorbar,情况会更加复杂,因为它会创建多个Line2D对象(中心线、垂直和水平误差条及其帽子)。


如果您想自动分配线条的颜色,可以创建如下循环。

import itertools as it
colors = it.cycle(list of colors)

然后使用colors.next()调用下一个颜色,在达到最后一个颜色后从第一个重新开始。


ax.get_lines()ax.lines之间有什么区别吗?当我检查时,它们是相等的... - Oren Milman
它们可能是相同的。你检查了源代码吗?在IPython中,你应该能够使用例如ax.get_line??获取代码。 - Francesco Montesano
1
啊,我应该想到查看源代码 :) 对我来说看起来很相似: https://github.com/matplotlib/matplotlib/blob/master/lib/matplotlib/axes/_base.py#L1831 谢谢! - Oren Milman
是的,它们是相同的,除了字符串表示形式。 - Francesco Montesano

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接