创建一个连接三个点的折线图,每个点都有不同的标记



假设我有三个熊猫系列condition1, condition2, condition3,每个都包含23000多个浮点数。我想画一个有三个连接点的图。每一个都应该是这三个数据集的中值,并具有不同的标记。

线和点的布局应该与示例图类似(除了有三个点和只有一条线(。示例图

这就是我尝试的:

medians = [np.median(condition1), np.median(condition2), np.median(condition3)]
plt.plot(medians[0], marker='o')
plt.plot(medians[1], marker='*')
plt.plot(medians[2], marker='D')
plt.show()

这个:

medians_df = pd.DataFrame({'cond1': [np.median(condition1)], 'cond2': [np.median(condition2)], 'cond3': [np.median(condition3)]})
for count, value in enumerate(medians_df):
plt.plot(raw_medians[value], marker=markers[count])
plt.legend()
plt.show()

然而,这些图只给出三个垂直对齐的点。此外,我还不清楚如何添加错误条。

下面的代码给了我一些用线连接的点,但每个点都没有标记。

plt.plot(medians)
plt.show()

任何帮助都将不胜感激!

如果我理解正确,您可以使用matplotlib错误条。我冒昧地假设你的中位数和错误,你当然可以从你的数据中获得。

import matplotlib.pyplot as plt
x = [0, 1, 2]
medians = [1, 5, 3.5]
error_bar_length = [0.5, 1, 4]
markers = ['s', 'o', 'D']
plt.plot(x, medians, color='black')  # Plot the line through the medians
# Plot the errorbars with different markers
for ii in range(3):
plt.errorbar(x=x[ii], y=medians[ii], yerr=error_bar_length[ii], marker=markers[ii], color='black')
plt.show()

最新更新