我有以下情节:
import matplotlib.pyplot as plt
fig2 = plt.figure()
ax3 = fig2.add_subplot(2,1,1)
ax4 = fig2.add_subplot(2,1,2)
ax4.loglog(x1, y1)
ax3.loglog(x2, y2)
ax3.set_ylabel('hello')
Run Code Online (Sandbox Code Playgroud)
我希望能够创建轴标签和标题,不仅适用于两个子图中的每一个,还包括跨越两个子图的常用标签.例如,由于两个图都有相同的轴,我只需要一组x和y轴标签.我确实希望每个子图有不同的标题.
我尝试了一些东西,但没有一个能正常工作
我正在尝试共享两个子图轴,但我需要在创建图形后共享x轴.所以,举个例子,我创建了这个数字:
import numpy as np
import matplotlib.pyplot as plt
t= np.arange(1000)/100.
x = np.sin(2*np.pi*10*t)
y = np.cos(2*np.pi*10*t)
fig=plt.figure()
ax1 = plt.subplot(211)
plt.plot(t,x)
ax2 = plt.subplot(212)
plt.plot(t,y)
# some code to share both x axis
plt.show()
Run Code Online (Sandbox Code Playgroud)
而不是评论我会插入一些代码来共享两个x轴.我没有找到任何线索我怎么能这样做.有一些属性
_shared_x_axes,_shared_x_axes当我检查图轴(fig.get_axes())但我不知道如何链接它们.
import pandas as pd
import matplotlib.pyplot as plt
df = pd.DataFrame({'A': [0.3, 0.2, 0.5, 0.2], 'B': [0.1, 0.0, 0.3, 0.1], 'C': [0.2, 0.5, 0.0, 0.7], 'D': [0.6, 0.3, 0.4, 0.6]}, index=list('abcd'))
ax = df.plot(kind="bar", subplots=True, layout=(2, 2), sharey=True, sharex=True, rot=0, fontsize=20)
Run Code Online (Sandbox Code Playgroud)
现在如何将x和y标签添加到结果图中?这里解释了一个单一的情节.因此,如果我想为特定的子图添加标签,我可以这样做:
ax[1][0].set_xlabel('my_general_xlabel')
ax[0][0].set_ylabel('my_general_ylabel')
plt.show()
Run Code Online (Sandbox Code Playgroud)
这给了:
如何添加标签以使它们居中并且不仅仅引用一行/列?