我在python中工作并找到了几个解决方案来做到这一点。但它需要创建每个单独的子图。但是因为有一个参数,你可以subplot=True
,我想知道有没有办法在一行代码中完成...很多你怎么说sharey=True
,你能做到吗? “分享”水平常数?
我一直在玩它。起初,它只显示在最后一个图表上,但现在它根本没有显示。
import matplotlib.pyplot as plt
line_up_points.plot(subplots=True, layout=(3, 3),sharey=True, figsize=(18, 12))
plt.legend(loc='best')
plt.axhline(y=125.08, color='r')
以下是它的展示:
但我希望在y = 125.08
的每个子图上都有一条水平线任何想法都没有单独创建7个不同的图形?
答案 0 :(得分:2)
如果我没弄错的话,你应该找回一个轴对象矩阵。
这应该可以解决问题:
axes = line_up_points.plot(subplots=True, layout=(3, 3),sharey=True, figsize=(18, 12))
for c in axes:
for ax in c:
ax.axhline(y=125.08, color='r')
以下是一个完整的例子:
%matplotlib inline # For Jupyter Notebooks
import numpy as np
import pandas as pd
df = pd.DataFrame(np.random.rand(10, 7))
axes = df.plot(subplots=True, layout=(3, 3), figsize=(16,9))
for c in axes:
for ax in c:
ax.axhline(y=0.5, color='r')