发布时间:2026/8/6 0:14:23
Python生态绘图类库:Folium、PlotNine、LeafMap、PyGal、CartoPy、floWeaver 继Python生态绘图类库Plotly、Altair、bqplot、plotlet之后本文继续汇总Python生态下特定领域下的绘图类库。Folium项目主页地图画图工具开源GitHub7.4K Star2.3K Fork类库基于Leaflet.js可在Jupyter Notebook里画出可缩放、可拖拽、带标记点的交互式地图。适用场景场景说明数据可视化报告在Jupyter里展示地理数据分布门店/网点分布图批量打点直观看到覆盖范围路线规划展示把GPS轨迹画出来热力图分析如人口密度、事故高发区实战基于pip安装pip install folium示例importfolium# 创建地图定位到北京mfolium.Map(location[39.9042,116.4074],zoom_start12)# 加标记点folium.Marker([39.9042,116.4074],popup天安门,iconfolium.Icon(colorred,iconinfo-sign)).add_to(m)# 保存HTML文件m.save(map.html)# 在Jupyter里直接显示m批量打点importfoliumfromfolium.pluginsimportHeatMapimportpandasaspd# 门店数据storespd.DataFrame({name:[店A,店B,店C],lat:[39.90,39.92,39.88],lng:[116.40,116.42,116.38]})mfolium.Map(location[39.90,116.40],zoom_start13)for_,rowinstores.iterrows():folium.Marker([row[lat],row[lng]],popuprow[name]).add_to(m)# 用经纬度数据生成热力图heat_data[[row[lat],row[lng]]for_,rowinstores.iterrows()]HeatMap(heat_data).add_to(m)m效果图画区域、画路径# 画折线folium.PolyLine(locations[(39.90,116.40),(39.92,116.42),(39.88,116.38)],colorblue,weight5).add_to(m)# 画圆如覆盖范围folium.Circle(location[39.90,116.40],radius1000,# 米colorred,fillTrue).add_to(m)展示效果PlotNine官网图形语法绘图开源GitHub4.8K Star254 Fork库把ggplot2风格的Grammar of Graphics带到Python强调数据、映射、几何对象、坐标和分面等概念比先画线再调样式的过程更声明式官方文档。适合统计探索、分组对比、教学材料、希望用一致语法组织复杂统计图、从R或ggplot2迁移来的团队以及需要统一图形语法的分析脚本。不适合极复杂的交互式Web图表或需要直接操控Matplotlib底层每个Artist的精细场景。特点语法清晰用aes、geom、facet、coord组合图表表达意图很明确适合统计图分面、颜色映射、几何层叠很自然承接PandasDataFrame字段直接进入映射分析脚本里衔接顺。实战基于pip安装pip install plotnine示例importpandasaspdfromplotnineimportaes,coord_flip,facet_wrap,geom_point,geom_col,ggplot,stat_smooth,theme_xkcd,theme_tufte,theme_minimalfromplotnine.dataimportmtcars(ggplot(mtcars,aes(wt,mpg,colorfactor(gear)))# 调用mtcars数据集以车重wt与每加仑行驶英里数mpg为坐标颜色受gear影响geom_point())绘制效果图(ggplot(mtcars,aes(wt,mpg,colorfactor(gear)))geom_point()stat_smooth(methodlm)# 绘制线性拟合曲线)效果图需要等十几秒钟(ggplot(mtcars,aes(wt,mpg,colorfactor(gear)))geom_point()stat_smooth(methodlm)facet_wrap(gear)# 按gear进行分组以多面展示数据)效果图(ggplot(mtcars,aes(wt,mpg,colorfactor(gear)))geom_point()stat_smooth(methodlm)facet_wrap(gear)theme_xkcd()# 绘制手绘风格主题# theme_tufte() # Tufte 风格主题# theme_minimal() # 系统默认# theme_bw() # 系统默认)可能会输出字体不存在渲染没有什么较大影响findfont: Font family xkcd not found. findfont: Font family Humor Sans not found.不想看到警告信息添加两行代码importlogging logging.getLogger(matplotlib.font_manager).setLevel(logging.ERROR)渲染效果也可从xkcd-font官网下载xkcd.ttf字体文件。更多示例dfpd.DataFrame({x:[1,2,3],y:[2,5,3]})pggplot(df,aes(x,y))geom_point()figp.draw(showFalse)print(layers:,len(p.layers))print(axes:,len(fig.axes))dfpd.DataFrame({team:[A,B,C],score:[7,4,9]})pggplot(df,aes(team,score))geom_col(fill#4c78a8)coord_flip()figp.draw(showFalse)print(layers:,len(p.layers))print(coord:,type(p.coordinates).__name__)print(axes:,len(fig.axes))dfpd.DataFrame({x:[1,2,1,2],y:[3,5,2,7],team:[A,A,B,B]})pggplot(df,aes(x,y,colorteam))geom_point(size3)facet_wrap(team)figp.draw(showFalse)print(facets:,type(p.facet).__name__)print(panels:,len(fig.axes))解读把不同统计视角拆成geom和facet比在一段imperative代码里不断改axes更容易维护。注意事项固定输入字段、数据量范围和缺失值策略明确图表是静态导出、Notebook交互、桌面GUI还是Web嵌入在目标运行环境里做一次渲染或导出验证LeafMap官网基于folium开源GitHub3.8K Star469 Fork零代码地理数据分析与交互式绘图包。能力超多后端随意切换可切换到folium、ipyleaflet、kepler.gl、pydeck、bokeh等不同后端根据场景选最顺手的工具交互式绘图工具内置图形界面很多操作如加载数据、画图不用写代码在Jupyter里点点鼠标就能完成分析能力强大集成WhiteboxTools分析工具库可直接在地图上进行水文分析、地形分析、LiDAR数据处理等对新手和专家都友好初学者能快速上手出图专业用户也能用它处理复杂的空间数据和分析任务实战基于pip安装pip install leafmap示例PyGal官网SVG 图表生成开源GitHub2.8K Star419 Fork。创建图表对象、设置标签、添加series、渲染为SVG。相比大型交互式可视化框架更适合在文档、邮件图表、静态页面和报告里产出可缩放矢量图、需要SVG文件的自动化脚本以及需要轻量、可嵌入、无需复杂前端依赖时。适合在构建流程里生成、缓存、嵌入而不是依赖运行时再画。不适合高度复杂的交互式分析平台或需要海量数据点实时重绘的科学计算界面。特点SVG输出图表天然可缩放适合文档和静态页面API简洁Bar、Line、Radar等图表对象直接添加数据即可依赖轻不用完整前端框架也能生成可用图表资产实战基于pip安装pip install pygal示例importpygal chartpygal.Bar()chart.titlesaleschart.x_labels[Jan,Feb,Mar]chart.add(sales,[120,160,90])svgchart.render()print(series:,len(chart.raw_series))print(svg bytes:,len(svg))chartpygal.Line(interpolatecubic)chart.add(A,[1,3,2,5])chart.add(B,[2,2,4,3])names[meta[title]fordata,metainchart.raw_series]svgchart.render()print(series names:,names)print(series count:,len(chart.raw_series))print(svg bytes:,len(svg))chartpygal.Radar()chart.x_labels[speed,quality,cost]chart.add(plan A,[8,7,5])chart.add(plan B,[6,9,7])svgchart.render(is_unicodeTrue)print(radar labels:,list(chart.x_labels))print(has svg:,svg.lstrip().startswith(?xml))CartoPy面向地图绘制和地理投影的开源GitHub1.6K Star396 Fork库常和Matplotlib、NumPy、GeoPandas一起使用。把经纬度坐标、投影坐标、地图要素和坐标轴变换放进同一套模型里管理。适合气象图、海洋航线、遥感辅助图、区域统计地图等场景下的可视化官方文档。特点投影清楚CRS对象负责坐标系统和变换适合在图上混合经纬度、墨卡托等坐标要素可控Natural Earth要素可按类别和比例尺组织便于控制海岸线、陆地等素材生态兼容和Matplotlib配合紧密适合把科学计算结果落到地图视图里不适合只想快速在网页里拖动地图的场景这类需求通常Leaflet、Mapbox或Folium更合适。实战基于pip安装pip install cartopy示例importcartopy.crsasccrsimportcartopy.featureascfeatureimportnumpyasnp srcccrs.PlateCarree()dstccrs.Mercator()ptsdst.transform_points(src,np.array([0,120]),np.array([0,30]))fmtlambdarow:[float(round(v,2))forvinrow[:2]]print(threshold:,round(src.threshold,3))print(points:,pts.shape)print(x0/y0:,fmt(pts[0]))print(x1/y1:,fmt(pts[1]))landcfeature.NaturalEarthFeature(physical,land,110m)print(feature:,land.name)print(category:,land.category)print(scale:,land.scale)解读把经纬度点转换到Web/墨卡托类坐标验证数据坐标能进入目标投影定义Natural Earth地图要素后续可交给Matplotlib轴对象渲染注意事项固定Python、核心库和系统依赖版本避免环境漂移用小样本覆盖输入边界、空值、异常值和坐标/数组维度把外部服务、投影数据或编译依赖写进部署文档floWeaver开源GitHub464 Star89 Fork流数据可视化可将类似于“源-目标-数值”这种表单数据变成比例精准、配色高级的桑基图官方文档。组件floWeaver负责逻辑层ipysankeywidget负责在Jupyter里渲染图表用ProcessGroup定义聚合类别用Waypoint标记节点SankeyDefinition负责布局Weave负责数据映射。实战基于pip安装pip install floweaver示例fromfloweaverimportSankeyDefinition,WeavefromfloweaverimportProcessGroup,Waypointimportpandasaspd group_electProcessGroup(电子产品)group_homeProcessGroup(家居生活)group_clothProcessGroup(服饰美妆)w_electWaypoint(group_elect,title电子)w_homeWaypoint(group_home,title家居)w_clothWaypoint(group_cloth,title服装)sankey_defSankeyDefinition(flows[(w_elect,w_home),(w_elect,w_cloth),(w_home,w_cloth)],waypoints[w_elect,w_home,w_cloth])datapd.DataFrame({source:[电子,电子,家居],target:[家居,服装,服装],value:[100,50,30]})weaveWeave(sankey_def,data,link_columns[source,target,value])weave.to_widget()sankey_def.flows[(w_elect,w_home),(w_home,w_cloth)]weave_newWeave(sankey_def,data,link_columns[source,target,value])weave_new.to_widget()TODO上述代码在2.0.1版本跑不通。优势在于它把“流”的语法抽象得非常干净几行代码就能出专业级桑基图且配色省心。不足高度绑定ipysankeywidget只能用于Jupyter Notebook或Lab没法直接导出PNG或用在Django网站上。

相关新闻

2026/8/6 0:14:23

Vue 中 ref 和 reactive 有什么区别?该用哪个?

Vue 中 ref 和 reactive 有什么区别?该用哪个? 一句话总结:ref 适合「基本类型 需要重新赋值」的场景,reactive 适合「对象/数组 不需要整体替换」的场景。记不住?基本类型用 ref,对象用 reactive&#x…

2026/8/6 0:14:23

网站建设的目标是什么

在这个互联网早已融入我们呼吸节奏的时代,很多企业主,尤其是那些在传统行业摸爬滚打多年的老板,每当聊到“建网站”这个话题时,眼神里总带着一种复杂的迷茫。这种迷茫,一半来源于对新技术的不熟悉,另一半则是因为他们根本不知道花钱做出来的东西到底该怎么用。很多人抱着…

2026/8/6 0:09:22

136、LLC谐振变换器的数字频率跟踪控制

136、LLC谐振变换器的数字频率跟踪控制 从一次炸机说起 去年夏天,我调试一台3kW的LLC电源,负载从空载切到半载,谐振腔电流波形突然扭曲,紧接着一声闷响——MOSFET炸了。示波器抓到的最后波形显示,开关频率在切换瞬间跳到了谐振频率以下,进入了容性区。这就是典型的频率…

2026/8/6 4:49:40

OpenClaw与Marcus Agent实战:从部署到自动化股票日报的完整指南

1. 项目概述:从“玩具”到“生产力”的Agent实践 最近在折腾AI Agent,发现了一个挺有意思的现象:很多朋友把OpenClaw、Hermes Agent这类框架搭起来,跑通一个Demo,就感觉“大功告成”了。但当你真的想用它来解决一个实际…

2026/8/6 4:49:40

Windows平台ncnn编译部署全攻略:从环境配置到模型推理实战

1. 项目概述:为什么要在Windows上折腾ncnn?如果你在Windows上做过深度学习模型部署,大概率听说过ncnn这个名字。它是一个为移动端和嵌入式平台优化的高性能神经网络推理框架,由腾讯优图实验室开源。但很多人的第一反应是&#xff…

2026/8/6 4:49:40

UE Niagara特效进阶:网格体粒子模拟碎片爆炸与魔法汇聚

1. 项目概述:从“火花”到“风暴”的Niagara进阶之路在UE(Unreal Engine)的视觉特效世界里,Niagara系统无疑是当前最强大、最灵活的工具集。很多朋友刚入门时,可能还在用精灵(Sprite)粒子做做烟…

2026/8/5 3:13:11

如何用免费工具突破游戏窗口限制:SRWE完整使用指南

如何用免费工具突破游戏窗口限制:SRWE完整使用指南 【免费下载链接】SRWE Simple Runtime Window Editor 项目地址: https://gitcode.com/gh_mirrors/sr/SRWE 你是否遇到过这样的困扰?想为心爱的游戏截图,却发现游戏不支持自定义分辨率…

2026/8/6 0:04:22

电力系统调度中的源荷不确定性建模与优化实践

1. 电力系统调度中的源荷不确定性挑战现代电力系统正面临前所未有的复杂性,其中源荷不确定性(Source-Load Uncertainty)已成为调度决策中最棘手的难题之一。我在参与某省级电网调度系统升级时,曾遇到风电预测误差导致日内调度计划…

2026/8/6 0:04:22

VGG-T3技术解析:3D重建速度的革命性突破

1. 项目概述:VGG-T3如何重新定义3D重建速度在计算机视觉领域,3D场景重建一直是个计算密集型任务。传统方法重建1000帧图像规模的场景往往需要数小时甚至更长时间,而英伟达最新发布的VGG-T3技术将这个时间压缩到了惊人的54秒。这个突破性进展来…

2026/8/6 0:04:22

深度解析旅游网站建设的意义及其对行业发展的深远影响与核心价值体现

在这个数字化浪潮席卷全球的今天,我们似乎已经忘记了,曾经有一段时间,人们想要去一个陌生的地方,只能靠在书桌前翻阅厚厚的旅游杂志,或者向刚从那里回来的朋友询问那些模糊不清的印象。那时候,“远方”是一个需要精打细算才能抵达的奢侈概念。而现在,只需要一部手机,轻…

2026/8/5 19:21:13

实测才敢推 AI论文网站 2026最新测评与推荐

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。一、综…

2026/8/5 19:21:13

2026必备!AI论文网站测评:最新推荐与深度对比

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

2026/8/5 19:21:13

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…