当前位置: 首页 > 知识库问答 >
问题:

访问散点图的matplotlib对象

岳风畔
2023-03-14

给定一个带有几个点的matplotlib 2.0.0散点图,我想注释一些点而不重叠其他点。对于注解,我使用了调整文本,它需要一个可选的matplotlib对象列表(使用.get_window_extent()方法)来避免。但是我还不知道如何为散点图中的点获取这些对象。

如何从散点图中获得具有.get_window_extent()的(点)对象列表?

考虑例如:

import matplotlib.pyplot as plt
from adjustText import adjust_text
x,y = [1,2,3,4,5],[2,4,6,8,10]
scatter = plt.scatter(x,y)
annotations = []
for x_i, y_i in zip(x[:-3],y[:-3]):
    annotations.append(plt.text(x_i,y_i, 'foobar'))
adjust_text(annotations, add_objects=scatter)

使用add_objects=

  • scatter抛出一个TypeError:“PathCollection”对象不可编辑
  • 分散。get\u paths()抛出一个属性错误:“Path”对象没有属性“get\u window\u extent”

共有1个答案

白青青
2023-03-14

我认为您只是忽略了adjust_text中的附加参数。您可以直接向函数提供点的xy坐标:

adjust_text(annotations,x=x,y=y)

完整的例子:

import matplotlib.pyplot as plt
from adjustText import adjust_text
plt.rcParams["figure.figsize"] = 3,2
x,y = [1,2,3,4,5],[2,4,2,8,10]
scatter = plt.scatter(x,y)
annotations = []
for x_i, y_i in zip(x,y):
    annotations.append(plt.text(x_i,y_i, 'foobar {},{}'.format(x_i,y_i)))
adjust_text(annotations,x=x,y=y)

plt.show()
 类似资料:
  • 散点图用于在水平轴和垂直轴上绘制数据点,它表示了因变量随自变量变化的趋势。通俗地讲,它反映的是一个变量受另一个变量的影响程度。 散点图将序列显示为一组点,其中每个散点值都由该点在图表中的坐标位置表示。对于不同类别的点,则由图表中不同形状或颜色的标记符表示。同时,您也可以设置标记符的颜色或大小。 下面示例,绘制了学生考试成绩的散点图,其中蓝色代表男孩成绩,红色表示女孩的成绩。 代码执行后,输出结果如

  • 本文向大家介绍matplotlib 散点图,包括了matplotlib 散点图的使用技巧和注意事项,需要的朋友参考一下 示例 一个简单的散点图 带有标记点的散点图            

  • 问题内容: 我有两个列表,日期和值。我想使用matplotlib绘制它们。以下创建了我的数据的散点图。 创建一个折线图。 但是我真正想要的是一个散点图,其中的点由一条线连接。 类似于R: ,这使我得到了点的散点图,并用连接点的线覆盖了点。 我该如何在python中做到这一点? 问题答案: 我认为@Evert有正确的答案: 几乎与 或您喜欢的任何 线型 。

  • 我有两个列表,日期和值。我想使用matplotlib绘制它们。下面创建了我的数据散点图。 创建线图。 但我真正想要的是一个散点图,其中的点由一条线连接。 与R中的类似: ,这给了我一个点的散点图,上面有一条连接点的线。 如何在python中实现这一点?

  • 问题内容: 我正在编写一个接口来在Matplotlib中做散点图,并且我希望能够从python脚本访问数据。 现在,我的界面正在执行: 使用标准,我可以执行以下操作: 那行得通。我想要的是类似的东西,但有散点图。 有人可以建议类似的方法吗? 问题答案: 使用绘制图,因此x,y位置称为“偏移”:

  • 问题内容: 我正在绘制星团中的位置,我的数据在具有x,y,z位置以及时间索引的数据框中。 我能够生成3d散点图,并试图生成旋转图-我虽然取得了一些成功,但是却在动画API方面苦苦挣扎。 如果我的“ update_graph”函数仅返回一个新的ax.scatter(),则除非我重建整个图,否则旧图将保持绘制状态。看来效率低下。同样,我必须将间隔设置得很高,否则我的动画每隔一帧就会“跳过”,所以这表示

  • 散点图沿 X 和 Y 轴放置的各个数据点来绘制数据。 图表属性 选择图表类型后,可以更改其属性来自定义图表: 选项 描述 常规 背景颜色 设置图表区域的背景颜色。 不透明度 设置背景颜色的不透明度。 显示边框 显示图表外部边框。 边界颜色 设置图表外部边框的颜色。 显示标题 显示图表的主要标题。 标题 指定图表的标题。 标题字体 设置标题的字体样式。 位置 设置标题的位置。 对齐 设置标题的水平对

  • 散点图沿 X 和 Y 轴放置的各个数据点来绘制数据。 图表属性 选择图表类型后,可以更改其属性来自定义图表: 选项 描述 常规 背景颜色 设置图表区域的背景颜色。 显示边框 显示图表外部边框。 边界颜色 设置图表外部边框的颜色。 显示标题 显示图表的主要标题。 标题 指定图表的标题。 标题字体 设置标题的字体样式。 位置 设置标题的位置。 对齐 设置标题的水平对齐方式。 数据 颜色 设置数据系列的