[英]How to display x axis label for each matplotlib subplot
I want to add an x axis label below each subplot. 我想在每个子图下面添加一个x轴标签。 I use this code to create the charts:
我使用此代码创建图表:
fig = plt.figure(figsize=(16,8))
ax1 = fig.add_subplot(1,3,1)
ax1.set_xlim([min(df1["Age"]),max(df1["Age"])])
ax1.set_xlabel("All Age Freq")
ax1 = df1["Age"].hist(color="cornflowerblue")
ax2 = fig.add_subplot(1,3,2)
ax2.set_xlim([min(df2["Age"]),max(df2["Age"])])
ax2.set_xlabel = "Survived by Age Freq"
ax2 = df2["Age"].hist(color="seagreen")
ax3 = fig.add_subplot(1,3,3)
ax3.set_xlim([min(df3["Age"]),max(df3["Age"])])
ax3.set_xlabel = "Not Survived by Age Freq"
ax3 = df3["Age"].hist(color="cadetblue")
plt.show()
This is how it looks. 这是它的外观。 Only the first one shows
只有第一个显示
How can I show a different x axis label under each subplot
? 如何在每个
subplot
下显示不同的x轴标签?
You are using ax.set_xlabel
wrong, which is a function (first call is correct, the others are not): 您使用的是
ax.set_xlabel
错误,这是一个函数 (第一次调用是正确的,其他调用是不正确的):
fig = plt.figure(figsize=(16,8))
ax1 = fig.add_subplot(1,3,1)
ax1.set_xlim([min(df1["Age"]),max(df1["Age"])])
ax1.set_xlabel("All Age Freq") # CORRECT USAGE
ax1 = df1["Age"].hist(color="cornflowerblue")
ax2 = fig.add_subplot(1,3,2)
ax2.set_xlim([min(df2["Age"]),max(df2["Age"])])
ax2.set_xlabel = "Survived by Age Freq" # ERROR set_xlabel is a function
ax2 = df2["Age"].hist(color="seagreen")
ax3 = fig.add_subplot(1,3,3)
ax3.set_xlim([min(df3["Age"]),max(df3["Age"])])
ax3.set_xlabel = "Not Survived by Age Freq" # ERROR set_xlabel is a function
ax3 = df3["Age"].hist(color="cadetblue")
plt.show()
您可以使用以下方法在每个绘图上方添加标题
ax.set_title('your title')
That's easy, just use matplotlib.axes.Axes.set_title , here's a little example out of your code: 这很简单,只需使用matplotlib.axes.Axes.set_title ,这是代码中的一个小例子:
from matplotlib import pyplot as plt
import pandas as pd
df1 = pd.DataFrame({
"Age":[1,2,3,4]
})
df2 = pd.DataFrame({
"Age":[10,20,30,40]
})
df3 = pd.DataFrame({
"Age":[100,200,300,400]
})
fig = plt.figure(figsize=(16, 8))
ax1 = fig.add_subplot(1, 3, 1)
ax1.set_title("Title for df1")
ax1.set_xlim([min(df1["Age"]), max(df1["Age"])])
ax1.set_xlabel("All Age Freq")
ax1 = df1["Age"].hist(color="cornflowerblue")
ax2 = fig.add_subplot(1, 3, 2)
ax2.set_xlim([min(df2["Age"]), max(df2["Age"])])
ax2.set_title("Title for df2")
ax2.set_xlabel = "Survived by Age Freq"
ax2 = df2["Age"].hist(color="seagreen")
ax3 = fig.add_subplot(1, 3, 3)
ax3.set_xlim([min(df3["Age"]), max(df3["Age"])])
ax3.set_title("Title for df3")
ax3.set_xlabel = "Not Survived by Age Freq"
ax3 = df3["Age"].hist(color="cadetblue")
plt.show()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.