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

Matplotlib-如何绘制给定散点图的真实值和预测值之间的垂直线?[重复]

匡晟
2023-03-14

真实值和预测值以千位数表示。我的方法是,因为ax。axvline()只接受0和1范围内的ymin和ymax,我可以将每个y_true和y_pred除以10000,转换为小数。但我在上面看到的是一个混乱的情节。

我使用的代码很简单:

plt.style.use("default")

fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(15, 8))

ax1.scatter(np.arange(0, 50), y_train[:50], marker="o", label="True")
ax1.scatter(np.arange(0, 50), preds_train_lm[:50], marker="x", color="brown", label="Predicted")
for ix, v1, v2, in zip(np.arange(0, 50), y_train.values[:50], preds_train_lm[:50]):
    ax1.axvline(x=ix, ymin=v1/10000, ymax=v2/10000)
ax1.legend()

有没有其他方法可以让每对标记之间有精确的线条?

提前谢谢。

共有1个答案

淳于玺
2023-03-14

切换到轴。vlines对于此用例:

  1. vlines使用数据坐标而不是图形分数

因此,您可以通过将原始数组直接传递到ax1.vlines来避免任何缩放/循环:

ax1.vlines(np.arange(50), y_train.values[:50], preds_train_lm[:50])
 类似资料:
  • 给定一个信号的时间表示图,如何画出相应的时间指标线? 具体来说,给定一个时间索引范围为0到2.6(s)的信号图,我想画垂直红线,指示列表的相应时间索引,我该怎么做?

  • 问题内容: 给定时间表示中的信号图,如何绘制标记相应时间索引的线? 具体来说,给定时间索引范围为0到2.6(s)的信号图,我想绘制垂直红线以指示列表的相应时间索引,我该怎么办? 问题答案: 添加无需覆盖实际高度即可覆盖整个绘图窗口的垂直线的标准方法是 要么 您可以使用许多可用于其他情节命令的关键字(例如,,…)。您可以传递关键字参数,如果愿意,可以传递坐标(例如,将覆盖图的中部)。水平线()和矩形

  • 我正在使用以下命令: 其中: 我希望在从到的每个点上都有一条垂直线。

  • 本文向大家介绍python学习之matplotlib绘制散点图实例,包括了python学习之matplotlib绘制散点图实例的使用技巧和注意事项,需要的朋友参考一下 要绘制单个点,可使用函数scatter(),并向其传递一对x和y坐标,它将在指定位置绘制一个点: 下面来设置输出的样式:添加标题,给轴加上标签,并确保所有文本都大到能够看清。并使用scatter()绘制一系列点 手工计算列表要包含的

  • 我设法在一个图形上显示来自同一数据帧的两个散点图,并尝试将同一行中的点与图形上的一条线连接起来。任何人都可能知道我如何做到这一点?谢谢

  • 本文向大家介绍python+matplotlib绘制饼图散点图实例代码,包括了python+matplotlib绘制饼图散点图实例代码的使用技巧和注意事项,需要的朋友参考一下 本文是从matplotlib官网上摘录下来的一个实例,实现的功能是Python+matplotlib绘制自定义饼图作为散点图的标记,具体如下。 首先看下演示效果 实例代码: 总结 以上就是本文关于python+matplot