2026/4/17 23:16:52
网站建设
项目流程
网站欣赏网站欣赏,海拉尔建设局网站,闵行区属于浦东还是浦西,西安商城网站开发制作#x1f4ca; 用 Python 把数据“画”成故事#xff1a;Matplotlib 入门全攻略❝
数据不会说话#xff1f;那就给它一支画笔#xff01;大家好呀#xff5e;今天咱们来聊聊 Python 中最经典、最全能的数据可视化工具——Matplotlib。
别被名字吓到#xff0c;“Matplotli… 用 Python 把数据“画”成故事Matplotlib 入门全攻略❝数据不会说话那就给它一支画笔大家好呀今天咱们来聊聊Python 中最经典、最全能的数据可视化工具——Matplotlib。别被名字吓到“Matplotlib”听起来像数学课代表其实它是个温柔又强大的绘图小能手能把枯燥的数字变成会讲故事的图表无论你是想画一条平平无奇的折线还是搞个炫酷词云展示老板最爱说的“赋能”Matplotlib 都能帮你搞定。废话不多说直接上干货 1. Matplotlib 是啥为啥要学它想象一下你辛辛苦苦分析了一堆数据结果汇报时只甩出一串数字……领导“所以呢”这时候一张清晰的图胜过千言万语Matplotlib 就是那个帮你把“所以呢”变成“哇塞”的神器。它是纯 Python 写的第三方库风格像 MATLAB但更亲民。支持线图、散点图、饼图、直方图、箱线图……甚至雷达图、流向图图形质量高到可以直接拿去发论文 or 做 PPT❝ 小贴士使用前记得先装好numpy它是 Matplotlib 的“左膀右臂”。import matplotlib.pyplot as plt import numpy as np️ 2. 画布与子图你的“画纸”怎么安排就像画画前要选画布大小Matplotlib 也允许你自定义画布plt.figure(figsize(9, 6)) # 9英寸宽6英寸高想一次画多个图用子图subplot比如你想对比“夏天 vs 冬天”的气温变化fig, axes plt.subplots(1, 2) # 1行2列 axes[0].plot([30, 35, 33]) # 夏天 axes[1].plot([5, 2, -1]) # 冬天 plt.show()❝ 生活类比这就像你在手机相册里拼图——左边是你吃火锅的照片右边是你滑雪的照片一张图讲两个故事✍️ 3. 给图表“化妆”标题、坐标轴、图例画完图别急着发朋友圈先加点“妆容”plt.plot([1, 2, 3], [1, 4, 9]) plt.title(我的收入增长曲线梦想版) plt.xlabel(月份) plt.ylabel(存款万元) plt.legend([真实情况]) # 记住legend 要在 plot 之后 plt.show()❝⚠️ 注意图例legend必须在画图之后调用否则它会一脸懵“我该标谁” 4. 线条样式大赏颜色、线型、标记点Matplotlib 的线条可不止“黑线”一种你可以换颜色b蓝、r红、g绿……甚至orange换线型-实线、--虚线、-.点划线加标记o圆圈、*星星、^三角形x np.linspace(0, 10, 20) plt.plot(x, np.sin(x), colorpurple, linestyle--, marker*, markersize8) plt.show()❝ 小彩蛋alpha0.5可以让线条半透明适合叠图时看清重叠部分 5. 常见图表全家福 折线图Line Chart最适合看趋势比如股价、温度、你的体重希望是下降的。days [Mon, Tue, Wed, Thu, Fri] coffee [2, 3, 5, 4, 6] plt.plot(days, coffee, marker☕) plt.title(本周咖啡摄入量续命指数) 散点图Scatter Plot看两个变量有没有“暧昧关系”。x np.random.randn(100) y 2 * x np.random.randn(100) plt.scatter(x, y, cred, alpha0.6) plt.title(身高 vs 篮球命中率) 直方图Histogram看数据分布比如全班考试成绩。scores np.random.normal(75, 10, 1000) # 平均75标准差10 plt.hist(scores, bins30, colorskyblue, edgecolorblack) plt.title(期末考试成绩分布) 饼图Pie Chart展示占比比如你的时间分配labels [刷手机, 摸鱼, 学习, 睡觉] sizes [40, 30, 10, 20] explode (0.1, 0, 0, 0) # 让“刷手机”突出一点心虚了 plt.pie(sizes, labelslabels, explodeexplode, autopct%1.1f%%) plt.title(我的一天真实版) 箱线图Boxplot一眼看出数据的“五脏六腑”最小值、Q1、中位数、Q3、最大值。data [np.random.normal(0, std, 100) for std in range(1, 4)] plt.boxplot(data, labels[A组, B组, C组]) plt.title(三组实验数据对比) 6. 高级技巧填充、注释、中文显示 曲线下填充比如突出“盈利区间”x np.linspace(0, 5, 100) y np.sin(x) plt.plot(x, y) plt.fill_between(x, 0, y, where(y 0), colorgreen, alpha0.3) plt.title(正收益区域绿色部分) 添加注释用箭头指向关键点plt.plot([1, 2, 3], [1, 4, 2]) plt.annotate(峰值, xy(2, 4), xytext(2.5, 3), arrowpropsdict(facecolorred, shrink0.05)) 显示中文默认字体不支持中文会显示方框 ❌。解决方法plt.rcParams[font.sans-serif] [SimHei] # 用黑体 plt.rcParams[axes.unicode_minus] False # 正常显示负号现在你就可以写《北京 vs 上海房价对比》这种标题了 7. 保存与分享画好了赶紧保存plt.savefig(my_plot.png, dpi300, bbox_inchestight)dpi300高清打印级bbox_inchestight自动裁掉白边☁️ 8. 彩蛋词云Word Cloud虽然严格来说不算 Matplotlib 原生功能但配合wordcloudjieba你可以生成这样的效果❝“老板最爱说‘对齐’、‘闭环’、‘抓手’、‘赋能’……”from wordcloud import WordCloud import jieba text 赋能 对齐 闭环 抓手 赋能 降本增效 words .join(jieba.cut(text)) wc WordCloud(font_pathsimhei.ttf).generate(words) plt.imshow(wc, interpolationbilinear) plt.axis(off)❝ 词云虽好可不要用来吐槽老板哦除非你已提离职✅ 总结Matplotlib 一句话口诀❝画布子图先搭台折线散点直方来饼图箱线各显摆标题注释加图例中文保存别忘改数据从此会表白 现在轮到你了打开你的 Jupyter Notebook敲下第一行plt.plot()让数据开始“说话”吧如果你觉得这篇推文有用欢迎点赞、转发让更多人告别“表格恐惧症”