使用Matplotlib绘制条形图

0 投票
1 回答
2081 浏览
提问于 2025-04-28 13:27

我有一个CSV文件(Data.csv):

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

我想制作一个柱状图,横轴是日期,纵轴是数值:

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()

可惜,这个图变成了折线图。

有人能帮帮我吗?

暂无标签

1 个回答

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()

撰写回答