【发布时间】:2020-01-05 04:12:47
【问题描述】:
我正在测试 pandas 在同一张图表上绘制财务数据(价格和数量)的能力。如果我尝试将两个数据都呈现为线条,它可以正常工作:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
a = pd.date_range('2019-01-01', '2019-06-01',freq = 'D')
b = np.random.normal(size = len(a), loc = 50)
v = np.random.normal(size = len(a), loc = 1000)
c = pd.DataFrame(index = a, data = zip(b,v), columns = ['price', 'volume'])
fig, ax = plt.subplots(figsize = (15,8))
bx = ax.twinx()
c.price.plot.line(ax = ax, color = 'r')
c.volume.plot.line(ax = bx, color = 'g', alpha = .2)
plt.show()
但是,如果我尝试将一个呈现为一条线,另一个呈现为条形图,则将最后 3 行替换为:
c.price.plot.line(ax = ax, color = 'r')
c.volume.plot.bar(ax = bx, color = 'g', alpha = .2)
plt.show()
有人知道如何使上面的代码与 line + bar 一起工作吗??
【问题讨论】:
-
这是一个很常见的问题,它的最后一个版本只出现在yesterday。简而言之:使用 matplotlib,而不是 pandas。
标签: python pandas matplotlib