python - 如何在 Python plt 中获取最新绘制线的颜色

标签 python matplotlib

我在没有指定颜色的情况下绘制了一条线(想想:plt.plot(x,y))。 说颜色是蓝色的。

问题:如何从 plt 对象中获取该颜色,以便将其放入变量中?

似乎这很接近(并且可能是解决方案):

p = plt.plot(x,y)
color = p[0].get_color()

更新问题: 我不确定我是否理解“0”索引:p[0] 是否总是访问最近绘制的线?

最佳答案

在您的示例中, pLine2D 对象的列表。在该示例中,您只有一个线对象,p[0]。以下是绘制三条线的示例。随着更多的行被添加,它被附加到 p。所以如果你想要最后一个图的颜色,它将是 p[-1].get_color().

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(10)
y = np.arange(10)
p = plt.plot(x,y, x,y*2, x,y*3) # make three line plots
type(p) # list
type(p[0]) # <class 'matplotlib.lines.Line2D'>
p[0].get_color() # 'b'
p[1].get_color() # 'g'
p[2].get_color() # 'r'

line plot

关于python - 如何在 Python plt 中获取最新绘制线的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36699155/

相关文章:

python - elif 中的语法错误阻止进一步执行

python - 获取 Jupyter notebook 实时显示 matplotlib 图形

python - 设置 colorbar matplotlib 的标签

python - 在 matplotlib-basemap 中绘制颜色编码标记

matplotlib - 如何删除 matplotlib 中颜色条的短线

python - 为什么这本字典解包不起作用

python - pip:升级包而不升级特定依赖

python - 如何确定两个句子是否谈论相似的主题?

python-3.x - 没有使用seaborn white样式显示的主要刻度线并且无法恢复

python - 属性错误: 'module' object has no attribute 'Firefox'