我知道对此有很多疑问(例如here),我只是看不到自己在做什么错。
我有以下数据:
Prod T1 T2
A 0 4
B 0 6.7
C 0 8.8
D 0 6.8
E 0 6.75
F 0 7.8
G 0 33.5
H 0 21
我希望该图具有8条线(A-H),每条线显示从时间段1(T1)到时间段2(T2)的增长。
我写了这段代码:
# libraries
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
# Data
df=pd.DataFrame({'Product':['A','B','C', 'D','E','F','G','H'], 'Time Period 2': ['4','6.7','8.8','6.8','6.75','7.8','33.5','21.00']})
# multiple line plot
plt.plot('Product','Time Period 2',data=df,marker='o',color='orange',linewidth=2)
plt.legend(loc='upper left')
输出是x轴上的每个乘积(A-H)和Y轴上的T2编号:
但是我想要的是让每种产品都有自己的从T1到T2的增长线(例如,像互联网上的这个示例):
有人可以告诉我如何更改它,以便X轴只有两个值“时间1”和时间2”,然后有多行(AH),显示从T1到T2的增长(例如,对于A, T1 y的值为0,T2 y的值为4)。
答案 0 :(得分:0)
我认为您只需添加.plots,它们就会被添加到同一张图上,例如,您可以执行以下操作:
# libraries
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
# Data
df=pd.DataFrame({'Product':['A','B','C', 'D','E','F','G','H'], 'Time Period 2':
['4','6.7','8.8','6.8','6.75','7.8','33.5','21.00']})
df2=pd.DataFrame({'Product':['A','B','C', 'D','E','F','G','H'], 'Time Period 3':
['12','13','14','15','16','17','18','19']})
# multiple line plot
plt.plot('Product','Time Period 2',data=df,marker='o',color='orange',linewidth=2)
plt.plot('Product','Time Period 3',data=df2,marker='o',color='orange',linewidth=2)
plt.legend(loc='upper left')
答案 1 :(得分:0)
我不知道这是否可以帮助您或者我是否理解这个问题,但是我做到了:
import matplotlib.pyplot as plt
x = ['A','B','C','D','E','F','G','H']
y = [0,0,0,0,0,0,0,0]
y2 = [4,6.7,8.8,6.8,6.75,7.8,33.5,21]
fig= plt.figure(figsize=(10,6))
plt.title("title")
plt.xlabel("xlabel")
plt.ylabel("ylabel")
plt.plot(x,y)
plt.plot(x,y2)
plt.show()