如何解决一列的Y轴x不同列的Y轴到不同的子图
嗨,我有一个数据框喜欢这个:
data1 = {"x": [10,20,30,40,50],"y": [0.01,0.02,0.03,0.04,0.05],"z": [0.11,0.12,0.13,0.14,0.15],"q": [0.21,0.22,0.23,0.24,0.25],}
df1 = pd.DataFrame (data1,columns = ['x','y','z','q'])
我想创建x相对于y,z以及相对于q的图,作为图上的子图。
我已经做到了,但是它们在同一个情节中
import matplotlib.pyplot as plt
plt.plot(df1['y'],df1['x'])
plt.plot(df1['z'],df1['x'])
plt.plot(df1['q'],df1['x'])
还有一种方法可以为eahc行添加标签吗?
解决方法
要向每行添加图例,可以在每行上添加标签,然后调用plt.legend()
绘制图例。
import pandas as pd
import matplotlib.pyplot as plt
data1 = {"x": [10,20,30,40,50],"y": [0.01,0.02,0.03,0.04,0.05],"z": [0.11,0.12,0.13,0.14,0.15],"q": [0.21,0.22,0.23,0.24,0.25],}
df1 = pd.DataFrame (data1,columns = ['x','y','z','q'])
plt.plot(df1['y'],df1['x'],label='y')
plt.plot(df1['z'],label='z')
plt.plot(df1['q'],label='q')
plt.legend()
plt.show()
要在不同的子图上绘制它们,可以通过在nrows
中定义ncols
和plt.subplots()
参数来创建mxn子图。然后在每个轴对象上绘制数据。
import pandas as pd
import matplotlib.pyplot as plt
data1 = {"x": [10,'q'])
figure,axs = plt.subplots(nrows=1,ncols=3,figsize=(8,4))
axs[0].plot(df1['y'],label='y')
axs[1].plot(df1['z'],label='z')
axs[2].plot(df1['q'],label='q')
axs[0].set_title('x against y')
axs[1].set_title('x against z')
axs[2].set_title('x against q')
plt.show()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。