簡體   English   中英

使用 pandas 和 matplotlib 繪制疊加圖表(折線和條形圖)

[英]Plotting superimposed charts (line and bar) with pandas and matplotlib

我正在測試 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 一起使用嗎?

使用Matplotlib繪圖庫。

Matplotlib 的函數pyplot具有函數barplot 您可以使用它們在同一圖表上顯示數據。

例子

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM