值得看的Python的开源项目有哪些?

今天给大家推荐的这个开源项目是一个非常棒的可视化库 – PyG2Plot 。

PyG2Plot 可视化

这个Python可视化新秀,在GitHub上是这样介绍的:

PyG2Plot 是@AntV/G2Plot 在 Python3 上的封装。G2Plot 是一套简单、易用、并具备一定扩展能力和组合能力的统计图表库,基于图形语法理论搭建而成。
不过研究PyG2Plot还得先从G2开始讲,它是蚂蚁金服开源一个基于图形语法,面向数据分析的统计图表引擎。后来又在其基础上,封装出业务上常用的统计图表库——G2Plot 。

在这里插入图片描述

不过现在Python这么热,几乎每一个nb的前端可视化库,最终都会被用python开发一套生成相应html的库!它也不例外,封装出了Python可视化库——PyG2Plot。

在GitHub上,也提供了一张示例图,我对右下角的散点图比较感兴趣。

在这里插入图片描述

结果兴致勃勃地去看示例,这简直买家秀与卖家秀啊!

在这里插入图片描述

我不管,我就要右边那个

自己动手,丰衣足食

看来还是需要自己动手,那就先安装PyG2Plot库吧

pip install pyg2plot

目前目前 pyg2plot 只提供简单的一个 API,只列出需要的参数

Plot
1.Plot(plot_type: str): 获取 Plot 对应的类实例。
2.plot.set_options(options: object): 给图表实例设置一个 G2Plot 图形的配置。
3.plot.render(path, env, **kwargs): 渲染出一个 HTML 文件,同时可以传入文件的路径,以及 jinja2 env 和 kwargs 参数。4.
plot.render_notebook(env, **kwargs): 将图形渲染到 jupyter 的预览。
于是我们可以先导入Plot方法

from pyg2plot import Plot

我们要画散点图

scatter = Plot("Scatter")

下一步就是要获取数据和设置参数plot.set_options(),这里获取数据直接利用requset解析案例json,而参数让我在后面一一道来:

import requests

#请求地址
url = "https://gw.alipayobjects.com/os/bmw-prod/0b37279d-1674-42b4-b285-29683747ad9a.json"

#发送get请求
a = requests.get(url)

#获取返回的json数据,并赋值给data
data = a.json()

在这里插入图片描述

成功获取解析好的对象集合数据。

下面是对着参数,一顿操作猛如虎:

scatter.set_options(
{
    'appendPadding': 30,
    'data': data,
    'xField': 'change in female rate',
    'yField': 'change in male rate',
    'sizeField': 'pop',
    'colorField': 'continent',
    'color': ['#ffd500', '#82cab2', '#193442', '#d18768','#7e827a'],
    'size': [4, 30],
    'shape': 'circle',
    'pointStyle':{'fillOpacity': 0.8,'stroke': '#bbb'},
    'xAxis':{'line':{'style':{'stroke': '#aaa'}},},
    'yAxis':{'line':{'style':{'stroke': '#aaa'}},},
    'quadrant':{
        'xBaseline': 0,
        'yBaseline': 0,
        'labels': [
        {'content': 'Male decrease,\nfemale increase'},
        {'content': 'Female decrease,\nmale increase'},
        {'content': 'Female & male decrease'},
        {'content': 'Female &\n male increase'}, ],},
})

如果在Jupyter notebook中预览的话,则执行下方语句

scatter.render_notebook()

如果想渲染出完整的html的话,则执行下方语句

scatter.render("散点图.html")

看一下成果吧

在这里插入图片描述

参数解析&完整代码

各位看官,这块可能比较无聊,可以直接划到文末或者点击收藏。

主要还是详解一下刚才scatter.set_options()里的参数,方便大家后续自己改造!

分成几个部分一点一点解释:

参数解释

'appendPadding': 30, #①
'data': data, #②
'xField': 'change in female rate', #③
'yField': 'change in male rate', 

①图表在上右下左的间距,加不加这个参数具体看下图
在这里插入图片描述

②设置图表数据源(其中data在前面已经赋值了),这里的数据源为对象集合,例如:[{ time: ‘1991’,value: 20 }, { time: ‘1992’,value: 20 }]。

③xField和yField这两个参数分别是横/纵向的坐标轴对应的字段。

参数解释

'sizeField': 'pop', #④
'colorField': 'continent', #⑤
'color': ['#ffd500', '#82cab2', '#193442', '#d18768','#7e827a'], #⑥
'size': [4, 30], #⑦
'shape': 'circle', #⑧

④指定散点大小对应的字段名,我们用的pop(人口)字段。

⑤指定散点颜色对应的字段名,我们用的continent(洲)字段。
在这里插入图片描述

⑥设置散点的颜色,指定了系列色值。

⑦设置散点的大小,可以指定大小数组 [minSize, maxSize]

⑧设置点的形状,比如cicle、square

参数解释

'pointStyle':{'fillOpacity': 0.8,'stroke': '#bbb'}, #⑨
'xAxis':{'line':{'style':{'stroke': '#aaa'}},}, #⑩
'yAxis':{'line':{'style':{'stroke': '#aaa'}},},

⑨pointStyle是指折线样式,不过在散点图里,指的是散点的描边。另外fillOpacity是设置透明度,stroke是设置描边颜色。
在这里插入图片描述

⑩这里只是设置了坐标轴线的颜色。

参数解释

'quadrant':{
    'xBaseline': 0,
    'yBaseline': 0,
    'labels': [
    {'content': 'Male decrease,\nfemale increase'},
    {'content': 'Female decrease,\nmale increase'},
    {'content': 'Female & male decrease'},
    {'content': 'Female &\n male increase'}, ],},

quadrant是四象限组件,具体细分配置如下:
在这里插入图片描述

PyG2Plot的介绍文档还不完善,上文中的很多参数是摸索的,大家作为参考就好。
在这里插入图片描述

PyG2Plot 原理其实非常简单,其中借鉴了 pyecharts 的实现,但是因为蚂蚁金服的 G2Plot 完全基于可视分析理论的配置式结构,所以封装上比 pyecharts 简洁非常非常多。

关于Python的技术储备

在这里给大家分享一些免费的课程供大家学习,下面是课程里面的截图,扫描最下方的二维码就能全部领取,
如果图片失效点击蓝色字体便可跳转哦~点这里哦

1.Python所有方向的学习路线

在这里插入图片描述

2.学习软件

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。
在这里插入图片描述

3.学习资料

在这里插入图片描述

4.实战资料

实践是检验真理的唯一标准。这里的压缩包可以让你再闲暇之余帮你提升你的个人能力。
在这里插入图片描述

5.视频课程

在这里插入图片描述

好啦今天的分享就到这里结束了,快乐的时光总是短暂呢,想学习更多课程的小伙伴不要着急,有更多惊喜哦~在这里插入图片描述

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这里是一些推荐的开源Python项目: 1. Django:一个高级的Web框架,可以帮助您快速构建完整的Web应用程序。 2. Flask:一个轻量级的Web框架,适合构建小型项目。 3. TensorFlow:一个用于机器学习和深度学习的开源框架。 4. OpenCV:一个用于计算机视觉的开源库。 5. PyTorch:一个用于深度学习的开源框架,提供了良好的灵活性和可读性。 6. Pandas:一个用于数据分析的库,提供了丰富的数据结构和数据分析工具。 7. Scrapy:一个用于数据抓取和爬虫的框架。 8. Matplotlib:一个用于绘图和可视化的库,可以方便地生成图表。 这仅仅是一个开源Python项目的清单,实际上还有很多优秀的项目值得探索。 ### 回答2: Python是一种广泛使用的编程语言,有许多优秀的开源Python项目。以下是一些值得推荐的开源Python项目: 1. Django: Django是一个强大的Web开发框架,它提供了许多用于快速构建高质量网站和Web应用程序的工具和库。 2. Flask: Flask是一个简单而灵活的微框架,用于构建Web应用程序和API。它是一个精简的框架,容易学习和使用。 3. NumPy:NumPy是一个用于进行科学计算的强大库。它提供了高性能的多维数组对象,并提供了许多用于处理数组的函数。 4. Pandas:Pandas是一个数据处理和分析的库。它提供了高性能、易于使用的数据结构和数据分析工具,可以轻松地处理和分析大量数据。 5. Matplotlib:Matplotlib是一个用于创建二维图表和可视化数据的库。它提供了广泛的绘图选项,可以创建各种类型的图表。 6. TensorFlow:TensorFlow是一个开源的机器学习框架。它提供了一个灵活的图计算系统,可以用于构建和训练各种类型的机器学习模型。 7. Scikit-learn:Scikit-learn是一个机器学习库,提供了各种常用的机器学习算法和工具。它易于使用,适用于各种应用场景。 8. OpenCV:OpenCV是一个开源的计算机视觉库,提供了大量用于处理图像和视频的函数和工具。它可以用于图像处理、对象识别、人脸检测等应用。 这些开源Python项目都是由开发者社区贡献和维护的,提供了丰富的功能和文档支持,非常适合开发者在项目中使用。无论是Web开发、数据分析还是机器学习,这些项目都是非常强大和实用的工具。 ### 回答3: 开源软件是指在软件发布时,可以获取软件源代码,并且可以自由地使用、修改和分发的软件。Python作为一门广泛使用的编程语言,拥有大量的优秀开源项目。以下是一些常见且值得推荐的开源Python项目: 1. Django:一个高效且强大的Web框架,用于快速开发安全的、可扩展的网站和Web应用程序。 2. TensorFlow:由Google开发的机器学习框架,用于构建和训练各种机器学习模型,包括深度学习模型。 3. NumPy:用于科学计算的强大库,提供了一个多维数组对象和许多用于处理数组的函数。 4. Matplotlib:一个用于创建高质量图表和可视化的库,可以生成各种类型的二维图表、图像和动画。 5. Pillow:一个流行的图像处理库,支持常见的图像操作、格式转换、滤镜等功能。 6. Flask:一个轻量级的Web应用框架,适用于构建小型Web应用和API。 7. PyTorch:由Facebook开发的机器学习框架,支持动态计算图和强大的GPU加速能力。 8. requests:一个简单易用的库,用于发送HTTP请求和处理响应。 9. scrapy:一个用于爬取网页并提取数据的强大框架,支持异步网络请求和多线程操作。 10. pandas:一个用于数据操作和分析的库,提供了灵活且高效的数据结构,支持数据清洗、重塑和分组处理等功能。 以上只是一小部分开源Python项目的例子,Python开源社区非常活跃,每天都有新的优秀项目出现。根据需求和兴趣,你可以进一步探索和使用更多的开源项目
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值