在数据时代,"看得见的数据"更能传递价值。Python 提供了一整套强大的可视化工具,让你轻松实现从折线图到交互图表的飞跃。
“千言万语,不如一图说明。”这句话在数据分析领域尤为贴切。无论是汇报结果、分析趋势还是发现异常,图表始终是信息传达的核心工具。
Python 凭借庞大的可视化生态系统,成为最流行的数据可视化语言之一。以下是你选择 Python 做图的几个理由:
库名 | 特点 | 适合场景 |
---|---|---|
matplotlib | 基础库,功能全面 | 几乎所有静态图 |
seaborn | 风格美观,统计图强大 | 分析类图表 |
plotly | 交互式图表神器 | 报表、演示 |
pyecharts | 适合中文用户,图表丰富 | 可嵌入网页或报告 |
altair | 语法简洁,适合新手 | 快速搭建交互式图 |
下面我们结合实际数据案例,深入使用这些库。
本文使用 pandas
提供数据支持,以城市空气质量(AQI)为示例。
python复制编辑import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
数据样例如下:
城市 | 日期 | AQI | PM2.5 | PM10 | SO2 |
---|---|---|---|---|---|
北京 | 2025-01-01 | 172 | 92 | 110 | 8 |
广州 | 2025-01-01 | 82 | 39 | 58 | 6 |
上海 | 2025-01-01 | 115 | 65 | 85 | 10 |
python复制编辑data = {
"城市": ["北京", "上海", "广州", "成都", "西安"],
"AQI": [172, 115, 82, 130, 156]
}
df = pd.DataFrame(data)
plt.bar(df["城市"], df["AQI"], color='skyblue')
plt.title("不同城市空气质量指数(AQI)")
plt.xlabel("城市")
plt.ylabel("AQI")
plt.grid(True, axis='y', linestyle='--', alpha=0.7)
plt.show()
python复制编辑beijing_data = pd.read_csv("beijing_aqi.csv")
plt.plot(beijing_data["日期"], beijing_data["AQI"], marker='o')
plt.xticks(rotation=45)
plt.title("北京2025年1月空气质量变化")
plt.ylabel("AQI")
plt.tight_layout()
plt.show()
python复制编辑df = pd.read_csv("cities_aqi.csv") # 包含多个城市多个日期
sns.boxplot(x="城市", y="AQI", data=df, palette="Set2")
plt.title("城市AQI分布箱型图")
plt.show()
python复制编辑corr = df[["AQI", "PM2.5", "PM10", "SO2"]].corr()
sns.heatmap(corr, annot=True, cmap="YlGnBu")
plt.title("污染因子相关性热力图")
plt.show()
python复制编辑import plotly.express as px
fig = px.line(beijing_data, x="日期", y="AQI", title="北京 AQI 时间序列", markers=True)
fig.show()
python复制编辑fig = px.bar(df, x="城市", y="AQI", color="城市", title="各城市 AQI")
fig.show()
python复制编辑from pyecharts.charts import Bar
from pyecharts import options as opts
bar = Bar()
bar.add_xaxis(df["城市"].tolist())
bar.add_yaxis("AQI", df["AQI"].tolist())
bar.set_global_opts(title_opts=opts.TitleOpts(title="各城市AQI"))
bar.render("aqi_bar_chart.html")
输出后你可以打开 HTML 文件查看交互式图表。
结合 matplotlib
+ pandas
+ reportlab
可以实现日报自动生成。
python复制编辑plt.savefig("aqi_plot.png", dpi=300)
使用 python-docx
插入图表到报告中:
python复制编辑from docx import Document
from docx.shared import Inches
doc = Document()
doc.add_heading("空气质量报告", 0)
doc.add_paragraph("以下是北京 1 月 AQI 趋势图:")
doc.add_picture("aqi_plot.png", width=Inches(5))
doc.save("AQI_报告.docx")
本文介绍了从 matplotlib 到 seaborn、plotly、pyecharts 的多种 Python 数据可视化工具,涵盖了静态图、交互图、统计图等多种形式,配合真实数据示例、图表代码和美化技巧,足以支撑你的数据分析与汇报任务。
图表类型 | 推荐工具 |
---|---|
静态图 | matplotlib, seaborn |
交互图 | plotly, pyecharts |
快速可视化 | altair |
中文图 | pyecharts |
美化统计图 | seaborn |
pandas
实现边清洗边分析;
Dash
, Streamlit
,构建完整可视化后台系统。原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。