【问题标题】:Cannot remove connecting lines from scatterplot using plt.plot()无法使用 plt.plot() 从散点图中删除连接线
【发布时间】:2020-02-27 08:03:12
【问题描述】:

我正在尝试使用 matplotlib.pyplot.plot() 生成一个没有连接每个标记的线的散点图。我正在使用 Python 2。

我尝试在 plt.plot() 函数中设置 linestyle='None'。我也尝试过 linestyle='' (这对线路没有影响)和 linestyle=None (这会引发错误)。我还尝试将线宽设置为 0,并尝试将线型更改为不同类型的破折号。两者都不起作用..代码运行时没有错误消息,连接线保持不变。

#!/usr/bin/env python

import matplotlib.pyplot as plt
import numpy as np
x=[0,1,2,3]
y=[2,4,6,8]
yError=[0.1,0.2,0.2,0.3]
fig = plt.figure(facecolor="w",figsize=(6.5,4.0))   
ax = fig.add_subplot(111)
ax.plot(x, y, color='blue',marker='o',label='generic', linestyle='None')
ax.errorbar(x,y, yerr=yError, color='blue',label='_nolegend_')
plt.show()

我希望的输出是一个没有连接线的散点图。

【问题讨论】:

  • 只是好奇,您为什么要尝试使用plot() 创建散点图?你为什么不改用scatter

标签: python matplotlib


【解决方案1】:

线条由您的errorplot 绘制。
在此处添加linestyle='None' kwarg,然后它们就会消失。

您甚至可以在将标记定义添加到errorplot 时省略完整的plot 命令。
那么你当然也应该适应标签。

imo 最短且可读性最好的形式宁愿使用 kwarg 格式在一个短期内指定颜色、标记和无行:

ax.errorbar(x,y, fmt='bo', yerr=yError, label='generic')

【讨论】:

  • 美丽。非常感谢!
猜你喜欢
  • 1970-01-01
  • 2017-01-31
  • 2013-12-06
  • 2021-07-02
  • 1970-01-01
  • 1970-01-01
  • 2016-01-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多