我有一个像这样的pandas数据框
import pandas as pd
import numpy as np
index = pd.date_range('1/1/2000', periods=30)
A = np.repeat(0.7, 30)
B = np.append(np.append(np.repeat(np.NaN, 9), [1]), np.append(np.append(np.repeat(np.NaN, 9), [2]), np.append(np.repeat(np.NaN, 9), [3])))
C = np.append(np.append(np.repeat(np.NaN, 14), [0.5]), np.repeat(np.NaN, 15))
df = pd.DataFrame(dict(A=A, B=B, C=C), index=index)
In[1]: df
Out[1]:
A B C
2000-01-01 0.7 NaN NaN
2000-01-02 0.7 NaN NaN
2000-01-03 0.7 NaN NaN
2000-01-04 0.7 NaN NaN
2000-01-05 0.7 NaN NaN
2000-01-06 0.7 NaN NaN
2000-01-07 0.7 NaN NaN
2000-01-08 0.7 NaN NaN
2000-01-09 0.7 NaN NaN
2000-01-10 0.7 1 NaN
2000-01-11 0.7 NaN NaN
2000-01-12 0.7 NaN NaN
2000-01-13 0.7 NaN NaN
2000-01-14 0.7 NaN NaN
2000-01-15 0.7 NaN 0.5
2000-01-16 0.7 NaN NaN
2000-01-17 0.7 NaN NaN
2000-01-18 0.7 NaN NaN
2000-01-19 0.7 NaN NaN
2000-01-20 0.7 2 NaN
2000-01-21 0.7 NaN NaN
2000-01-22 0.7 NaN NaN
2000-01-23 0.7 NaN NaN
2000-01-24 0.7 NaN NaN
2000-01-25 0.7 NaN NaN
2000-01-26 0.7 NaN NaN
2000-01-27 0.7 NaN NaN
2000-01-28 0.7 NaN NaN
2000-01-29 0.7 NaN NaN
2000-01-30 0.7 3 NaN
我想要实现的是将列“A”和“B”绘制为一个图中的线,将“B”列绘制为条形图,并在第一个下方的子图中注释值(即“0.5”) 。 Everythin必须与数据帧的索引对齐。 (在R中我会使用gridExtra来安排所有内容。)是否有一种巧妙的pythonic方法可以快速排列所有内容并在情节背景中有一个漂亮的网格?
以下代码似乎很适合以
开头fig, axes = plt.subplots(nrows=2, ncols=1, figsize=(12, 4))
df[["A", "B"]].plot(ax=axes[0])
df["B"].plot(kind="bar", ax=axes[1]);
我得到以下情节:
这不是我正在寻找的东西。我想要调整的东西是以文本形式写的。
答案 0 :(得分:0)
从这开始:
file_a
并根据需要调整间距和标签