5. Matplotlib折线图绘制

绘制失业率趋势图
本文通过使用Python的pandas和matplotlib库,从CSV文件中读取美国失业率数据,并按月绘制1948年至1952年的失业率趋势图。
import pandas as pd
import matplotlib.pyplot as plt

# https://github.com/mdengler/rsandbox/blob/master/data/FRED/UNRATE.csv
unrate = pd.read_csv("UNRATE.csv")
print(unrate.head(12))
unrate["DATE"] = pd.to_datetime(unrate["DATE"])
# 新增月份列数据
unrate["MONTH"] = unrate["DATE"].dt.month
print(unrate.head(12))
# first_twelve = unrate[0:12]
# # 画图,传入x轴和y轴数据,指定折线颜色
# plt.plot(first_twelve["MONTH"],first_twelve["VALUE"], c='red')
# # 画第2条折线图,指定折线颜色
# plt.plot(unrate[12:24]["MONTH"], unrate[12:24]["VALUE"], c="blue")
# # 更改横坐标的角度
# plt.xticks(rotation = 45)
# # x轴标签
# plt.xlabel("Month")
# # y轴标签
# plt.ylabel("Unemployment Rate")
# # 图像标题
# plt.title("Monthly Unemployment Trends,1948")
# plt.show()

# 循环画多条折线
colors = ["red", "blue", "green", "orange", "black"]
for i in range(5):
    data = unrate[12*i:12*i+12]
    labels = str(1948 + i)
    plt.plot(data["MONTH"], data["VALUE"], c=colors[i], label=labels)
# 图标放置位置
plt.legend(loc="best")
plt.show()

 

### 使用 Matplotlib 绘制折线图、柱状图、饼图和散点图 #### 折线图 通过 `plt.plot()` 方法可以轻松创建折线图。以下是绘制折线图的示例代码: ```python import matplotlib.pyplot as plt # 准备数据 x = [1, 2, 3, 4, 5] y = [2, 4, 6, 8, 10] # 创建折线图 plt.plot(x, y, color='blue', linestyle='-', marker='o') # 添加标题和标签 plt.title("折线图示例", fontsize=16) plt.xlabel("X轴", fontsize=12) plt.ylabel("Y轴", fontsize=12) # 显示图形 plt.show() ``` 此代码展示了如何使用颜色、线条样式以及标记来自定义折线图[^2]。 --- #### 柱状图 `plt.bar()` 或 `plt.barh()` 可用于绘制垂直或水平的柱状图。以下是一个简单的柱状图实现方法: ```python import matplotlib.pyplot as plt # 准备数据 categories = ['A', 'B', 'C', 'D'] values = [3, 7, 2, 5] # 创建柱状图 plt.bar(categories, values, color=['red', 'green', 'blue', 'orange']) # 添加标题和标签 plt.title("柱状图示例", fontsize=16) plt.xlabel("类别", fontsize=12) plt.ylabel("数值", fontsize=12) # 显示图形 plt.show() ``` 这段代码演示了如何为不同的柱子分配特定的颜色,并设置了图表的标题和坐标轴名称[^1]。 --- #### 饼图 利用 `plt.pie()` 方法可生成饼图,适合用来表示比例关系的数据分布。下面是绘制饼图的一个例子: ```python import matplotlib.pyplot as plt # 准备数据 sizes = [25, 35, 20, 20] labels = ['苹果', '香蕉', '橙子', '葡萄'] # 创建饼图 plt.pie(sizes, labels=labels, autopct='%1.1f%%', startangle=90, colors=['gold', 'yellowgreen', 'lightcoral', 'lightskyblue']) # 设置圆形显示 plt.axis('equal') # 添加标题 plt.title("水果占比饼图") # 显示图形 plt.show() ``` 这里配置了自动百分比标注 (`autopct`) 和起始角度 (`startangle`) 来增强视觉效果[^3]。 --- #### 散点图 借助 `plt.scatter()` 能够制作散点图,适用于表现两个变量之间的关系。如下所示的是一个基础版本的散点图构建方式: ```python import matplotlib.pyplot as plt import numpy as np # 准备数据 np.random.seed(0) x = np.random.rand(50) y = np.random.rand(50) colors = np.random.rand(50) sizes = 1000 * np.random.rand(50) # 创建散点图 plt.scatter(x, y, c=colors, s=sizes, alpha=0.5, cmap='viridis') # 添加标题和标签 plt.title("散点图示例", fontsize=16) plt.xlabel("X轴", fontsize=12) plt.ylabel("Y轴", fontsize=12) # 显示色彩映射条 plt.colorbar() # 显示图形 plt.show() ``` 该脚本还引入了透明度参数 (`alpha`) 和渐变色方案 (`cmap`) 提升美观程度[^4]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值