如何从 matplotlib 词干图中删除词干线?

下面是在 matplotlib 中创建词干图的示例脚本。


#!/usr/bin/env python3

# -*- coding: utf-8 -*-


import matplotlib.pyplot as plt

import numpy as np


# returns 10 evenly spaced samples from 0.1 to 2*PI

x = np.linspace(0.1, 2 * np.pi, 10)


fig, ax = plt.subplots( figsize=(4.,3.), constrained_layout=True)

markerline, stemline, baseline = ax.stem(x, np.cos(x), '-.', use_line_collection=True)

markerline1, stemline1, baseline1 = ax.stem(x, np.cos(x*5), '-', use_line_collection=True)


plt.setp(baseline, color='black', linewidth=2)

plt.setp(baseline1, color='black', linewidth=2)

plt.setp( stemline, color="green" )

plt.setp( stemline1, color="red" )


plt.show()

问题 1.创建这些图后,我想删除例如 , , .如何删除它们?markerline1stemline1baseline1


问题 2.如果我想在不影响 其他设置的情况下删除整个梗图,我该怎么做?我发现从中删除所有内容。axaxax.clear()ax


根据matplotlib,


用户警告:在 Matplotlib 3.3 中,词干图上的单个线将添加为线集合,而不是单个线。


此外,LineCollection 似乎有一个名为“属性”的属性,其中包含所有词干线的 x,y 信息。segment


问题 3.如何从 或 获取对象?我正在探索修改对象是否是回答我的第一个问题的方法。LineCollectionaxfigLineCollection


噜噜哒
浏览 70回答 1
1回答

海绵宝宝撒

您可以使用 在对象被绘制后从图中移除对象,即 等。obj.remove()markerline1.remove()更多详情请点击这里这可以通过循环访问绘图上的所有对象(如果您之前命名过它们)来扩展到Q2。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python