为什么我的错误栏显示有许多奇怪的线条?
Why my errorbar are shown with many strange lines?
这是我的代码,当我 运行 我的图形是这样的: enter image description here 我不知道如何解决它。就在我绘制许多值时,它发生了。
我的文件是这样的:https://drive.google.com/file/d/1gfljbTr82K5lLKRa7BVbs5JUmqtaZsp1/view?usp=sharing
我正在尝试绘制每个值的误差线。
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
df = pd.read_csv('C:/Users/LENOVO/Downloads/PN_ART.txt', sep=" ", header=0)
#oxígeno
O3art = df.loc[:, 'O3']
eO3art = df.loc[:, 'eO3']
#Nitrógeno
N2art = df.loc[:, 'N2']
eN2art = df.loc[:, 'eN2']
#Hidrógeno
Halphart = df.loc[:, 'Halpha']
eHalphart = df.loc[:, 'eHalpha']
eHbetart = df.loc[:, 'eHbeta']
Y = np.log(O3art)
X = np.log(N2art/Halphart)
xe = eN2art + eHalphart
ye = eO3art + eHbetart
plt.plot(X, Y, 'go')
plt.errorbar(X, Y, xerr=xe, yerr=ye, color='k')
Matplotlib 默认在连续的点之间画线。如果您绘制多个点,这些点没有沿着 x-axis 排序,这将产生您在图中观察到的奇怪的锯齿线。
一种解决方案是按 x 值对数据点进行排序。另一种方法是告诉 matplotlib 不要画线。这可以通过传递 a
linestyle=''
到绘图命令。通常你碰巧遇到这个问题,点与点之间的连线反正是没有意义的,所以从科学的角度来说还是不要画的好。
顺便说一下,你可以(并且应该将 plot()
和 errorbar()
调用合并为一个 errorbar()
调用,例如像这样
plt.errorbar(X, Y, xerr=xe, yerr=ye, marker='o', color='g', linestyle='', ecolor='k')
中找到参数和附加选项的含义
这是我的代码,当我 运行 我的图形是这样的: enter image description here 我不知道如何解决它。就在我绘制许多值时,它发生了。 我的文件是这样的:https://drive.google.com/file/d/1gfljbTr82K5lLKRa7BVbs5JUmqtaZsp1/view?usp=sharing
我正在尝试绘制每个值的误差线。
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
df = pd.read_csv('C:/Users/LENOVO/Downloads/PN_ART.txt', sep=" ", header=0)
#oxígeno
O3art = df.loc[:, 'O3']
eO3art = df.loc[:, 'eO3']
#Nitrógeno
N2art = df.loc[:, 'N2']
eN2art = df.loc[:, 'eN2']
#Hidrógeno
Halphart = df.loc[:, 'Halpha']
eHalphart = df.loc[:, 'eHalpha']
eHbetart = df.loc[:, 'eHbeta']
Y = np.log(O3art)
X = np.log(N2art/Halphart)
xe = eN2art + eHalphart
ye = eO3art + eHbetart
plt.plot(X, Y, 'go')
plt.errorbar(X, Y, xerr=xe, yerr=ye, color='k')
Matplotlib 默认在连续的点之间画线。如果您绘制多个点,这些点没有沿着 x-axis 排序,这将产生您在图中观察到的奇怪的锯齿线。
一种解决方案是按 x 值对数据点进行排序。另一种方法是告诉 matplotlib 不要画线。这可以通过传递 a
linestyle=''
到绘图命令。通常你碰巧遇到这个问题,点与点之间的连线反正是没有意义的,所以从科学的角度来说还是不要画的好。
顺便说一下,你可以(并且应该将 plot()
和 errorbar()
调用合并为一个 errorbar()
调用,例如像这样
plt.errorbar(X, Y, xerr=xe, yerr=ye, marker='o', color='g', linestyle='', ecolor='k')
中找到参数和附加选项的含义