Python 使用同一x轴绘制多个数据集的1行
我正在努力将我的数据绘制在单独的图形上(一个图形,一条线),并给它们一个合适的“名称”作为标签Python 使用同一x轴绘制多个数据集的1行,python,matplotlib,Python,Matplotlib,我正在努力将我的数据绘制在单独的图形上(一个图形,一条线),并给它们一个合适的“名称”作为标签 import matplotlib.pyplot as plt d = pd.DataFrame({'Time_min': [1, 2, 3], 'A1': [1000, 2000, 1000], 'A12': [2000, 3000, 2000], 'B12': [300
import matplotlib.pyplot as plt
d = pd.DataFrame({'Time_min': [1, 2, 3],
'A1': [1000, 2000, 1000],
'A12': [2000, 3000, 2000],
'B12': [3000, 5000, 3000]})
template = pd.DataFrame({'well_id': ['A1', 'A12', 'B12'],
'name': ['Sample1', 'Sample2', 'Sample4']})
df1 = pd.merge(template, d.T, how='left', left_on='well_id', right_index=True)
df2 = df1.iloc[:,2:].T
print(d.head())
print(df1.head())
#for index, row in df2.iterrows():
plt.figure()
plt.plot(d.Time_min, df2, label = df1.iloc[:,1])
plt.legend()
plt.show()
最后,我希望我的每个图表都是这样的:
plt.plot(d.Time_min, d['A12'], label = df1.iloc[1,1])
但是没有指定精确的样本及其在图形上显示的标签(名称)。我不确定我期望的输出是什么,但是下面的代码可以用来实现以ID单位在x轴上排列“Time_min”的图形。这符合你问题的意图吗
import matplotlib.pyplot as plt
d = pd.DataFrame({'Time_min': [1, 2, 3],
'A1': [1000, 2000, 1000],
'A12': [2000, 3000, 2000],
'B12': [3000, 5000, 3000]})
template = pd.DataFrame({'well_id': ['A1', 'A12', 'B12'],
'name': ['Sample1', 'Sample2', 'Sample4']})
df1 = pd.merge(template, d.T, how='left', left_on='well_id', right_index=True)
df1.columns = ['well_id', 'name', 'Time_min_1', 'Time_min_2','Time_min_3']
df1.plot(x='well_id', kind='bar')
plt.show()
谢谢,我添加了代码以显示我希望输出的样子。我已经运行了更新的代码并添加了一个图形,这是您要查找的图形吗?我不清楚预期的图形。是的,这正是我要寻找的图形类型。对于具有正确标签的每个示例,为1个图形创建它非常简单,无需手动指定。我就是不知道怎么用它?环实现这一目标的职能。