2014-10-20 147 views
0

我有一個CSV文件(Data.csv):條形圖與Matplotlib

2012-01-01,0 
2012-01-02,1 
2012-01-03,8 
2012-01-04,1 
...etc 

我試圖做一個柱狀圖,在y軸上x軸上的日期和值:

import numpy as np 
import matplotlib.pyplot as plt 
import matplotlib.dates as mdates 

def graph(): 
    date, value = np.loadtxt('Data.csv', delimiter=',', unpack=True, 
     converters = {0: mdates.strpdate2num('%Y-%m-%d')}) 

    fig = plt.figure() 

    ax1 = fig.add_subplot(1,1,1, axisbg='white') 

    plt.plot_date(x=date, y=value, fmt='-') 

    plt.title('Title') 
    plt.ylabel('Value') 
    plt.xlabel('Date') 
    plt.show() 

graph() 

不幸的是,這是一個折線圖。

請問有人能協助嗎?

回答

0

的matplotlib文檔有一個很好的例子:barchart_demo.py

這應做到:

fig, ax = plt.subplots() 

bar1 = ax.bar(date, value) 

plt.title('Title') 
plt.ylabel('Value') 
plt.xlabel('Date') 
plt.show() 
+0

謝謝 - 非常有用的。然而,這個解決方案擺脫了附帶'plt.plot_date(x = date,y = value,fmt ='b')'的x軸刻度標籤。有什麼方法可以重新納入? – Craig 2014-10-20 13:57:53