社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

从零开始学Python:一篇文章讲清所有入门知识

A逍遥之路 • 昨天 • 3 次点击  

你是不是也曾为复杂的数据可视化代码头疼不已?是不是觉得做一个好看的图表特别麻烦?今天就给大家介绍一个超级简单又好用的Python可视化库——pygal,五分钟就能做出高颜值图表,让你的数据分析瞬间高大上!

一、pygal是个啥?

简单来说,pygal是Python中一个小众但超级好用的数据可视化库。和大名鼎鼎的matplotlib、seaborn相比,它有这些独特优势:

  1. 上手超简单:几行代码就能画出漂亮图表

  2. 颜值超高:默认配色和风格就很美观

  3. 交互性强:生成的SVG图表可以放大缩小不失真

  4. 定制灵活:能轻松调整样式、颜色和主题

最关键的是——不需要写一大堆复杂配置代码,就能做出专业感十足的图表!

二、先装起来再说

安装pygal超简单,一行命令搞定:

pip install pygal

有时可能需要额外安装lxml库来支持某些功能:

pip installl xml

三、五分钟上手pygal

1. 先来个最简单的柱状图

import pygal

# 创建柱状图对象
bar_chart=pygal.Bar()

# 设置图表标题
bar_chart.title='编程语言流行度排行'

# 添加数据
bar_chart.add('Python'19)
bar_chart.add('Java'15)
bar_chart.add('JavaScript'14)
bar_chart.add('C++'12)
bar_chart.add('PHP'8)

# 保存为SVG文件
bar_chart.render_to_file('语言流行度.svg')

# 如果你想直接在notebook中查看
# bar_chart.render_in_browser()

就这么几行代码,就能得到一个专业感十足的柱状图!是不是特别简单?

2. 整个折线图也不在话下

import pygal

# 创建折线图
line_chart=pygal.Line()
line_chart.title ='2023年各季度销售额'
line_chart.x_labels= ['第一季度''第二季度''第三季度''第四季度']

# 添加两条折线
line_chart.add('产品A', [15304560])
line_chart.add('产品B', [30352389])

# 保存图表
line_chart.render_to_file('季度销售额.svg')

这个折线图展示了两种产品四个季度的销售情况对比,非常直观!

3. 来个炫酷的饼图

import pygal

# 创建饼图
pie_chart=pygal.Pie()
pie_chart.title='最喜欢的编程语言调查'

# 添加数据
pie_chart.add('Python'45)
pie_chart.add('Java'20)
pie_chart.add('JavaScript'15)
pie_chart.add( 'C++'10)
pie_chart.add('其他'10)

# 保存图表
pie_chart.render_to_file('编程语言喜好.svg')

就这么简单,一个漂亮的饼图就出来了,展示不同编程语言的受欢迎程度。

四、进阶操作:让图表更专业

1. 添加图例和标签

import pygal

bar_chart=pygal.Bar()
bar_chart.title='各城市平均房价(元/平方米)'
bar_chart.x_labels= ['北京''上海''广州''深圳''杭州']

# 在添加数据时可以指定图例名称
bar_chart.add('2023年', [6500062000250004500035000])

# 自定义x轴和y轴标签
bar_chart.x_title='城市'
bar_chart.y_title='均价(元/平方米)'

bar_chart.render_to_file('城市房价.svg')

2. 自定义样式,让图表更好看

import pygal
from pygal.style import LightColorizedStyle

# 创建自定义样式
custom_style=LightColorizedStyle(
    background='white',
    plot_background='rgba(255, 255, 255, 0.9)',
    foreground='#333333',
    foreground_strong='#000000',
    foreground_subtle='#7a7a7a',
    opacity='.6',
    opacity_hover='.9',
    transition='400ms ease-in',
    colors=('#3498db''#e74c3c''#2ecc71''#f39c12''#9b59b6')
)

# 应用自定义样式
line_chart=pygal.Line(style=custom_styleshow_legend=True)
line_chart.title='月度用户增长趋势'
line_chart.x_labels= ['1月''2月''3月''4月' '5月''6月']

# 添加多条数据线
line_chart.add('应用A', [100015002300370045007000])
line_chart.add('应用B', [80011001700250033004000])

line_chart.render_to_file('用户增长趋势.svg')

这个图表使用了自定义的配色方案,看起来更加专业和美观。

3. 结合真实数据:股票走势图

来个实战案例,用pygal分析某公司股票价格走势:

import pygal
from pygal.style import DarkStyle

# 使用内置的暗色风格
stock=pygal.Line(style=DarkStylex_label_rotation=45)
stock.title='某科技公司股价走势(2023)'
stock.x_labels= ['1月''2月''3月''4月''5月''6月'
                '7月''8月''9月' '10月''11月''12月']

# 添加股价数据
stock.add('股价', [154148160167180193205198187210230215])

# 添加交易量数据(使用辅助y轴)
stock.add('交易量(万手)', [151218213035422519334830], 
         secondary=True)

stock.render_to_file('股价走势.svg')

这个例子展示了股价和交易量的双Y轴图表,让数据分析更加专业!

五、实用技巧:让你的图表锦上添花

1. 添加数据标签

import pygal

bar_chart=pygal.Bar()
bar_chart.title='2023年季度销售额'
bar_chart.x_labels= ['第一季度''第二季度' '第三季度''第四季度']

# 设置为True显示数据标签
bar_chart.show_values=True

bar_chart.add('销售额(万元)', [256312384420])
bar_chart.render_to_file('季度销售额标签.svg')

2. 添加点击时的工具提示

import pygal

line=pygal.Line()
line.title='温度变化曲线'
line.x_labels= ['1月''2月''3月''4月''5月''6月']

# 自定义工具提示格式
line.value_formatter=lambdaxf"{x:.1f}°C"

line.add('北京', [2.05.711.318.624.927.8])
line.add('上海', [6.5 8.212.718.323.526.9])

line.render_to_file('温度变化.svg')

现在当你把鼠标悬停在数据点上时,会显示格式化的温度值。

3. 酷炫的仪表盘图表

import pygal

gauge=pygal.SolidGauge(
    half_pie=True,
    inner_radius=0.70,
    show_legend=False
)

gauge.title='关键业务指标完成情况'

# 定义百分比区间
percent_formatter=lambdaxf'{x:.1f}%'

# 添加不同指标及其完成情况
gauge.add('销售目标', [{'value'87.4'max_value'100}], 
         formatter=percent_formatter)
gauge.add('客户满意度', [{'value'93.7'max_value'100}], 
         formatter=percent_formatter )
gauge.add('员工绩效', [{'value'82.3'max_value'100}], 
         formatter=percent_formatter)

gauge.render_to_file('业务指标仪表盘.svg')

这个半圆形仪表盘图表非常适合展示目标完成情况,一目了然!

六、pygal支持的图表类型超全

pygal不仅仅支持基础图表,还有很多特色图表类型:

  • 基础图表:条形图(Bar)、折线图(Line)、饼图(Pie)、雷达图(Radar)

  • 特色图表:箱线图(Box)、漏斗图(Funnel)、点图(Dot)、仪表盘(Gauge)

  • 地图图表:世界地图(World)、国家地图等

来看个雷达图例子:

import pygal

# 创建雷达图
radar=pygal.Radar()
radar.title='编程语言技能评估'
radar.x_labels= ['语法简洁度''开发效率''执行速度'
                '学习难度''社区活跃度''就业前景']

# 添加不同语言的评分
radar.add('Python', [997910 9])
radar.add('Java', [7786910])
radar.add('C++', [6610588])

radar.render_to_file('语言能力雷达图.svg')

七、实用案例:数据分析报告

让我们用一个综合案例,展示如何用pygal做一个简单的数据分析报告。

假设我们要分析一家电商平台的销售数据:

import pygal
from pygal.style import LightStyle

# 设置风格
style=LightStyle(
  font_family='微软雅黑',
  background='white',
  plot_background='rgba(240, 240, 240, 0.9)',
  colors=('#3498db''#e74c3c''#2ecc71''#f39c12''#9b59b6')
)

# 1. 不同产品类别销售占比
pie=pygal.Pie(style =style)
pie.title='2023年产品类别销售占比'
pie.add('电子产品'42.8)
pie.add('服装鞋包'23.7)
pie.add('家居用品'15.2)
pie.add('食品饮料'12.3)
pie.add('其他'6.0)
pie.render_to_file('销售类别占比.svg')

# 2. 月度销售趋势
line=pygal.Line(style=styleshow_dots=Falsefill=True
                interpolate='cubic')
line.title='2023年月度销售额趋势'
line.x_labels= ['1月''2月''3月''4月''5月''6月'
                '7月''8月''9月''10月''11月''12月']
line.add('销售额(万元)'
       [320285334390421458470515549587 645682])
line.render_to_file('月度销售趋势.svg')

# 3. 各平台订单来源
bar=pygal.HorizontalBar(style=style)
bar.title='不同平台订单量占比'
bar.add('手机APP'45.7)
bar.add('电脑网页'27.8)
bar.add('微信小程序'18.3)
bar.add('实体门店'8.2)
bar.render_to_file('订单来源占比.svg')

这三个图表组合起来,就是一个简单而专业的销售数据分析报告!你可以把它们嵌入到你的工作汇报中,瞬间提升专业感。

通过以上的介绍和实例,相信大家已经对pygal有了初步了解。它真的是一个非常友好的可视化工具,尤其适合Python初学者快速上手数据可视化。

几点使用建议:

  1. 优先选择pygal的场景:

  • 需要快速制作漂亮图表

  • 图表需要交互功能

  • 不需要特别复杂的自定义

  • 可能不适合的场景:

    • 需要非常复杂的科学计算图表

    • 有特殊的定制化需求

    • 数据量特别大的情况

    学会了pygal,你就掌握了一个数据可视化的利器,无论是做数据分析报告、毕业论文图表,还是给老板汇报工作成果,都能轻松应对!

    最后,希望这篇教程对你有所帮助。动手试试吧,你会发现数据可视化原来可以这么简单!

    转发、收藏、在看,是对作者最大的鼓励!👏
    关注逍遥不迷路,Python知识日日补!






               对Python,AI,自动化办公提效,副业发展等感兴趣的伙伴们,扫码添加逍遥,限免交流群

    备注【成长交流】

    图片




    Python社区是高质量的Python/Django开发社区
    本文地址:http://www.python88.com/topic/181570
     
    3 次点击