python第三方库-pygal绘图功能介绍1-线图

本文介绍了Python第三方库Pygal的四种线图类型:简单线图、水平线图、叠层图和时间序列图。通过示例代码展示了如何绘制这些图形,并附有实际效果展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

pygal是一个用于生成SVG格式图片的python第三方库,具有十分酷炫的绘图功能,下面介绍其线图绘制板块,代码和图片均来源于pygal官方文档。

1 简单线图

代码:

line_chart = pygal.Line()
line_chart.title = 'Browser usage evolution (in %)'
line_chart.x_labels = map(str, range(2002, 2013))
line_chart.add('Firefox', [None, None,    0, 16.6,   25,   31, 36.4, 45.5, 46.3, 42.8, 37.1])
line_chart.add('Chrome',  [None, None, None, None, None, None,    0,  3.9, 10.8, 23.8, 35.3])
line_chart.add('IE',      [85.8, 84.6, 84.7, 74.5,   66, 58.6, 54.7, 44.8, 36.2, 26.6, 
<think>好的,用户之前问过关于Python爱心代码的高级实现,现在接着问除了matplotlib之外还有哪些常用的绘图。我需要先确定用户的需求是什么。用户可能是在进行数据可视化或者需要更复杂的图形效果,想要探索其他来增强他们的项目。 首先,我应该回忆常见的Python绘图,比如Seaborn、Plotly、Bokeh、Altair、Pygal、Mayavi、ggplot,可能还有其他的。每个的特点和适用场景需要简要说明,帮助用户根据需求选择。 用户可能对每个的具体功能和使用场景不太清楚,所以需要分点解释,每个的优缺点,以及适合做什么类型的图表。比如,Seaborn适合统计图表,Plotly适合交互式,Bokeh适合网页应用,Mayavi适合3D科学可视化。 还要考虑用户可能的后续问题,比如安装方法、学习曲线,或者如何与matplotlib结合使用。但当前问题只需要列出,所以保持回答简洁,但足够详细。 注意用户之前的问题涉及到动态效果,所以可能需要提到支持交互或动态的,比如Plotly和Bokeh。同时,用户可能对静态和动态都有兴趣。 需要检查是否有遗漏的重要,比如最近流行的或特定领域的,比如地理绘图的Folium,或者词云的WordCloud。不过用户的问题是“常用”的,所以重点放在最主流的几个。 最后,确保回答结构清晰,每个用编号列出,名称加粗,用途和特点分开,让用户一目了然。同时保持语言口语化,避免技术术语过多,但也要准确。</think>以下是Python中除`matplotlib`外常用的绘图及其特点,按场景分类整理: --- ### **1. 数据可视化专用** - **Seaborn** - **用途**: 基于`matplotlib`的高级统计图表,适合绘制热力图、分布图、箱线图等。 - **特点**: 内置美观主题,简化复杂统计图表的生成。 ```python import seaborn as sns sns.heatmap(data, annot=True) # 热力图示例 ``` - **Plotly** - **用途**: 交互式可视化(支持3D、地图、动态图表),适合网页或Jupyter Notebook。 - **特点**: 鼠标悬停显示数据、缩放、动态旋转。 ```python import plotly.express as px fig = px.scatter_3d(df, x='x', y='y', z='z', color='value') fig.show() ``` - **Altair** - **用途**: 基于Vega-Lite的声明式语法,适合快速生成简洁的统计图表。 - **特点**: 代码简洁,适合数据探索阶段。 ```python import altair as alt alt.Chart(df).mark_bar().encode(x='category', y='count') ``` --- ### **2. 交互式/网页应用** - **Bokeh** - **用途**: 面向现代浏览器的交互式可视化,适合构建仪表盘。 - **特点**: 支持大规模数据流,可直接输出为HTML。 ```python from bokeh.plotting import figure, show p = figure(title="Interactive Plot") p.line(x, y, legend_label="Trend") show(p) ``` - **Pygal** - **用途**: 生成SVG矢量图,适合需要高清晰度打印的场景。 - **特点**: 图表类型偏向信息图风格(如雷达图、仪表盘)。 ```python import pygal chart = pygal.Bar() chart.add('Data', [1, 3, 5]) chart.render_to_file('chart.svg') ``` --- ### **3. 科学计算/3D可视化** - **Mayavi** - **用途**: 三维科学数据可视化(如流体力学、医学成像)。 - **特点**: 基于VTK引擎,支持复杂3D渲染。 ```python from mayavi import mlab mlab.points3d(x, y, z, scale_factor=0.5) mlab.show() ``` - **VisPy** - **用途**: 高性能实时可视化(如神经科学信号分析)。 - **特点**: 基于OpenGL,适合大规模动态数据。 --- ### **4. 其他特色** - **Geopandas** - **用途**: 地理空间数据可视化(需配合`shapely`)。 - **特点**: 直接绘制地图边界、行政区划。 - **WordCloud** - **用途**: 生成词云图,适合文本数据摘要。 ```python from wordcloud import WordCloud wc = WordCloud().generate(text) wc.to_file("wordcloud.png") ``` --- ### **选择建议** - **快速探索数据** ➔ Seaborn、Altair - **交互式报告** ➔ Plotly、Bokeh - **科研3D渲染** ➔ Mayavi、VisPy - **地理数据** ➔ Geopandas + Folium 如果需要与`matplotlib`兼容,可优先选择Seaborn或结合Plotly的`plotly.graph_objects`模块。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值