【发布时间】:2021-06-03 10:45:03
【问题描述】:
- 最终目标是分析数据并查看线性回归是否合适。
- 目标是为 3 辆汽车(BMW、Audi A5、Mercedes Benz)中的每一辆获得 3 个 matplot.subplots
- 我尝试编写代码,但无法正常工作:
fig, ax = plt.subplots()
# plot.subplot(nrows, ncols, index of figure, **kwargs)
plt.subplot(1, 2, 1)
x = df1.Age(yrs)
y = df1[['']]
plt.plot(kind = 'line', x = 'Age(yrs)', y = 'Sell Price($)', color = "black")
plt.subplot(1, 2, 2)
plt.plot(kind = 'line', x = 'Age(yrs)', y = 'Mileage', color = "green")
plt.show()
plt.subplot(1, 3, 1)
plt.title("BMW X5")
plt.plot(x,y, color = "black")
# plot 2:
plt.subplot(1, 3, 2)
plt.title("Audi A5")
plt.plot(x, y, color = "green")
# plot 3:
plt.subplot(1, 3, 3)
plt.title("Mercedez Benz C class")
plt.plot(x, y, color = 'red')
plt.show()
| Car Model | Mileage | Sell Price($) | Age(yrs) |
|---|---|---|---|
| BMW X5 | 69000 | 18000 | 6 |
| BMW X5 | 35000 | 34000 | 3 |
| BMW X5 | 57000 | 26100 | 5 |
| BMW X5 | 22500 | 40000 | 2 |
| BMW X5 | 46000 | 31500 | 4 |
| Audi A5 | 59000 | 29400 | 5 |
| Audi A5 | 52000 | 32000 | 5 |
| Audi A5 | 72000 | 19300 | 6 |
| Audi A5 | 91000 | 12000 | 8 |
| Mercedez Benz C class | 67000 | 22000 | 6 |
| Mercedez Benz C class | 83000 | 20000 | 7 |
| Mercedez Benz C class | 79000 | 21000 | 7 |
| Mercedez Benz C class | 59000 | 33000 | 5 |
【问题讨论】:
-
也许是seaborns
sns.regplot(data=df1, x='Age(yrs)', y='Sell Price($)')? docs -
seaborn 不允许子图。所以这是不可能的。
-
Seaborn 允许很多子图。您需要通过 matplotlib 创建轴。如果您使用
plt.subplot(1, 2, 1),seaborn 将使用最新创建的子图。您还可以为子图命名,通常这是ax的变体,例如ax1 = plt.subplot(1, 2, 1)之后使用sns.regplot(data=df1, x=..., y=..., ax=ax1)。
标签: python matplotlib data-science subplot