【发布时间】:2014-06-22 07:53:53
【问题描述】:
我正在尝试绘制一个图表,其中第 1 列和第 2 列数据为条形,然后为第 3 列数据绘制线叠加。
我已经尝试了以下代码,但这会创建 2 个单独的图表,但我希望这一切都在一个图表上。
left_2013 = pd.DataFrame({'month': ['jan', 'feb', 'mar', 'apr', 'may', 'jun', 'jul', 'aug', 'sep', 'oct', 'nov', 'dec'],
'2013_val': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 9, 6]})
right_2014 = pd.DataFrame({'month': ['jan', 'feb'], '2014_val': [4, 5]})
right_2014_target = pd.DataFrame({'month': ['jan', 'feb', 'mar', 'apr', 'may', 'jun', 'jul', 'aug', 'sep', 'oct', 'nov', 'dec'],
'2014_target_val': [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]})
df_13_14 = pd.merge(left_2013, right_2014, how='outer')
df_13_14_target = pd.merge(df_13_14, right_2014_target, how='outer')
df_13_14_target[['month','2013_val','2014_val','2014_target_val']].head(12)
plt.figure()
df_13_14_target[['month','2014_target_val']].plot(x='month',linestyle='-', marker='o')
df_13_14_target[['month','2013_val','2014_val']].plot(x='month', kind='bar')
这是我目前得到的
【问题讨论】:
-
我设法使用以下代码 fig, ax = plt.subplots() df_13_14_target[['month','2014_target_val']].plot(x='month',ax= ax, linestyle='--', marker='o', color='r') df_13_14_target[['month','2013_val','2014_val']].plot(x='month',ax=ax, kind='bar') 但是关于如何使线图居中于条形上方的任何想法
标签: python matplotlib charts pandas