折线图:揭示数据趋势的有力工具
在数据可视化的众多工具中,折线图因其直观展示数据变化趋势的能力而广受欢迎。今天,我将通过一个具体的例子——2023年长江三角洲地区主要城市的平均光照时长,来介绍如何使用Python的Matplotlib库绘制折线图,并分析其在数据展示中的优势。
数据准备
首先,我们需要准备数据。在这个例子中,我们使用了长江三角洲地区四个主要城市(上海、南京、杭州、合肥)的月平均光照时长数据。数据来源于一个CSV文件,其中包含了每个月的光照时长。
代码实现
以下是使用Python和Matplotlib库绘制折线图的代码
import matplotlib.pyplot as plt
import pandas as pd
# 替换为您的实际文件路径
file_path = 'C:/Users/86195/Desktop/数据可视化.csv'
# 读取CSV文件
data = pd.read_csv(file_path, encoding='gbk')
plt.rcParams['font.sans-serif'] = ['SimHei'] # 设置字体为黑体
plt.rcParams['axes.unicode_minus'] = False # 解决负号显示问题
# 假设CSV文件的第一列是月份,后续列分别是上海、南京、杭州、合肥的数据
months = ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'] # 月份
shanghai = data.iloc[:, 0] # 上海
nanjing = data.iloc[:, 1] # 南京
hangzhou = data.iloc[:, 2] # 杭州
hefei = data.iloc[:, 3] # 合肥
# 绘制折线图
plt.figure(figsize=(10, 6))
plt.plot(months, shanghai, label='上海', marker='o')
plt.plot(months, nanjing, label='南京', marker='s')
plt.plot(months, hangzhou, label='杭州', marker='^')
plt.plot(months, hefei, label='合肥', marker='d')
# 添加图例
plt.legend()
# 设置标题和坐标轴标签
plt.title('2023年长江三角洲地区主要城市平均光照时长')
plt.xlabel('月份')
plt.ylabel('光照时长(小时)')
# 显示网格
plt.grid(True)
# 显示图表
plt.show()
图表分析
通过运行上述代码,我们得到了一个展示2023年长江三角洲地区四个主要城市月平均光照时长的折线图。
以下是对该图表的分析:
-
趋势展示:折线图清晰地展示了每个城市光照时长随月份变化的趋势。例如,我们可以看到夏季(6月到8月)光照时长普遍较高,而冬季(12月到2月)则较低。
-
城市比较:通过在同一图表中展示四个城市的光照时长,我们可以直观地比较不同城市之间的光照时长差异。例如,合肥在夏季的光照时长明显高于其他城市。
-
季节性变化:折线图还揭示了光照时长的季节性变化。所有城市的光照时长在夏季达到峰值,而在冬季达到最低点。
柱状图:数据分布的直观展示
柱状图是数据可视化中常用的图形之一,它通过条形的高度来表示数据的大小,非常适合用来展示分类数据的分布情况。在这篇文章中,我将通过一个具体的例子——上海2023年每月降水量,来介绍如何使用Python的Matplotlib库绘制柱状图,并分析其在数据展示中的优势。
数据准备
首先,我们需要准备数据。在这个例子中,我们使用了上海2023年每个月的降水量数据。数据来源于一个CSV文件,其中包含了每个月的降水量。
代码实现
以下是使用Python和Matplotlib库绘制柱状图的代码:
import pandas as pd
import matplotlib.pyplot as plt
# 读取 CSV 文件
df = pd.read_csv(r"C:\Users\86195\Desktop\数据可视化.csv", encoding='GBK')
# 设置图片清晰度
plt.rcParams['figure.dpi'] = 300
# 设置中文字体
plt.rcParams['font.sans-serif'] = ['SimHei'] # 设置字体为黑体
plt.rcParams['axes.unicode_minus'] = False # 解决负号显示问题
# 定义偏绿的马卡龙色
macaron_green = '#98FB98'
# 绘制柱状图
plt.figure(figsize=(10, 6))
bars = plt.bar(range(1, 13), df['上海'], color=macaron_green)
# 添加标题和标签
plt.title('上海 2023 年每月降水量柱状图')
plt.xlabel('月份')
plt.xticks(rotation=45)
plt.ylabel('降水量(mm)')
# 添加数据标签
for bar in bars:
height = bar.get_height()
plt.text(bar.get_x() + bar.get_width() / 2, height, f'{height:.1f}', ha='center', va='bottom')
# 显示图表
plt.show()
图表分析
通过运行上述代码,我们得到了一个展示上海2023年每月降水量的柱状图。
以下是对该图表的分析:
-
数据分布:柱状图清晰地展示了每个月的降水量分布。例如,我们可以看到6月和7月的降水量明显高于其他月份,这可能与梅雨季节有关。
-
数据比较:通过柱状图,我们可以直观地比较不同月份之间的降水量差异。例如,4月的降水量最低,而6月的降水量最高。
-
季节性变化:柱状图还揭示了降水量的季节性变化。降水量在夏季(6月到8月)达到峰值,而在冬季(12月到2月)则较低。