Matplotlib 绘制带有日期的条形图

Matplotlib 绘制带有日期的条形图

在数据分析和可视化中,Matplotlib是一个非常强大和广泛使用的库。而在Matplotlib中,条形图是展示分类数据的最佳方式之一。本文将通过一个示例,介绍如何使用Matplotlib绘制带有日期的条形图。

阅读更多:Matplotlib 教程

准备数据

首先我们要准备需要展示的数据。本示例中我们将使用一组电影票房数据,该数据以日期和电影票房为分类。下面是一组简要的数据:

日期 电影票房 (美元)
2019-01-01 15000
2019-01-02 32000
2019-01-03 27000
2019-01-04 45000
2019-01-05 37000
2019-01-06 12500

导入必要的库并生成数据

在绘图之前,我们需要导入需要用到的库,并使用Python来生成数据。

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

# 生成数据
date_rng = pd.date_range(start='1/1/2019', end='1/06/2019', freq='D')
tick_volume = [15000, 32000, 27000, 45000, 37000, 12500]

# 创建一个pandas dataframe来存储数据
df = pd.DataFrame(date_rng, columns=['date'])
df['tick_volume'] = tick_volume
Python

绘制带有日期的条形图

在数据准备好之后,我们可以通过以下代码来绘制带有日期的条形图。

plt.bar(df['date'], df['tick_volume'])
plt.xlabel("日期")
plt.ylabel("票房(美元)")
plt.title("电影票房数据")
plt.grid(True)
plt.show()
Python

以上代码将在一个图形窗口中绘制出条形图。我们可以通过设置plt.rcParams["figure.figsize"]来调整图形窗口的大小。

plt.rcParams["figure.figsize"] = [16,9]
plt.bar(df['date'], df['tick_volume'])
plt.xlabel("日期")
plt.ylabel("票房(美元)")
plt.title("电影票房数据")
plt.grid(True)
plt.show()
Python

美化图形

图形美化能够让我们展示的数据更加出色。一个好的条形图标准应该是:简洁、易读、有吸引力的颜色和字体。以下是一个经过美化的条形图的代码,配置包括:

  • 颜色和颜色深度的设置
  • 字体类型和字体大小的设置
  • 坐标轴和网格线样式的设置
plt.style.use('ggplot')

fig, ax = plt.subplots()

ax.bar(df['date'], df['tick_volume'],
       color='#003f5c',
       alpha=0.8)

ax.set_title("电影票房数据", fontsize=22)
ax.set_xlabel("日期", fontsize=16)
ax.set_ylabel("票房 (美元)", fontsize=16)

ax.tick_params(axis='x', labelrotation=45, labelsize=14)
ax.tick_params(axis='y', labelsize=14)

ax.yaxis.grid(True)
ax.xaxis.grid(False)

plt.show()
Python

总结

在本文中,我们介绍了如何使用Matplotlib绘制带有日期的条形图。通过数据的准备、以及图形的配置,我们可以获得一个简洁易读而又有吸引力的图形。此外,Matplotlib还提供了各种其他类型的图形,可以作为数据可视化的工具来使用。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册