Python数据可视化核心是用图表讲清数据故事,需按序安装Matplotlib、Pandas、Seaborn三库,从散点图理解参数逻辑,依分析目标选图型,并通过单位、图例、字体三步提升可读性。
Python数据可视化不是堆砌代码,而是用图表讲清数据背后的故事。掌握核心库、理解图表逻辑、避开常见坑,比死记参数更重要。
先装对工具:别一上来就写plot
新手常卡在环境配置。真正要用的只有三个库,按顺序装:
-
Matplotlib:基础绘图引擎,所有可视化底层都绕不开它。装法:pip install matplotlib
-
Pandas:读数据、整理数据、自带简单绘图(比如df.plot()),是分析流程的起点。pip install pandas
-
Seaborn:基于Matplotlib的高级接口,一行代码画出热力图、分布图、分类统计图,适合快速探索。pip install seaborn
不用急着装Plotly或Bokeh——交互式图表是进阶需求,入门阶段先跑通静态图逻辑更实在。
从一张散点图开始:看清x、y、color、size到底代表什么
别直接抄模板。打开Jupyter,输入这四行,边改边理解:
import matplotlib.pyplot as plt
plt.scatter(x=df['年龄'], y=df['收入'], c=df['城市等级'], s=df['消费额']/100)
plt.colorbar(label='城市等级')
plt.show
()
重点看四个参数:
-
x/y:必须是数值型列,不是字符串标签
-
c:控制颜色,可以是数值(自动映射色阶)或类别(自动分组上色)
-
s:控制点大小,注意别直接传原始大数(比如万元级消费),要缩放,否则图全挤成黑块
-
colorbar:加了c就得考虑是否需要图例,数值型用colorbar,类别型用plt.legend()
换图不靠猜:根据问题类型选图表
数据可视化不是审美比赛,是解题工具。对照你的分析目标选图:
-
看分布趋势:用折线图(时间序列)或直方图(数值分布),别用饼图——人眼难分辨面积差异
-
比几组数量:用柱状图(类别少)或水平条形图(类别多、标签长)
-
查两变量关系:散点图(数值×数值)、箱线图(数值×类别)、小提琴图(更细粒度分布)
-
看构成比例:只在总数固定、子类互斥时用饼图;否则优先堆叠柱状图或百分比条形图
调图不靠蒙:三步搞定可读性
再好的图,别人看不懂等于白画。每次画完检查这三项:
-
坐标轴有单位吗?比如“收入(万元)”不能只写“收入”
-
图例能对应上吗?尤其用了hue参数后,确认legend标题和颜色分组一致
-
字体够大吗?导出为PNG或PDF时,字号至少12pt,中文推荐SimHei或Noto Sans CJK
一行代码就能全局设置字体:plt.rcParams['font.sans-serif'] = ['SimHei', 'Arial Unicode MS']
基本上就这些。不复杂但容易忽略——可视化真正的门槛不在代码,而在想清楚“我想让读者看到什么”。