最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 不用第三方库,也能用 Python 作图,效果还不错

    正文概述    2020-07-27   238

    不用第三方库,也能用 Python 作图,效果还不错

    一提到用 Python 作图,很多人第一个想到的库肯定是 Matplotlib ,功能强大,但是相应地安装所需要的依赖就多。有些开发者在自己的工作流中有简单作图的需求,但是又不希望引入依赖关系复杂的 Matplotlib,所以就有了 Chart。

    Chart 是一个非常新的类库,上线 Github 仅有 10 多天的时间,Star 数也不多。不过我觉得比较有意思,大家可以阅读项目的源代码,学习如何自己开发绘图功能。

    基本功能

    Chart 目前仅支持三种图表类型:柱形图、散点图和直方图,图表数据点可以使用自定义的标记。该库的一个特点,在开头我们也提到了,就是没有任何的第三方依赖,完全是使用标准库中的库实现的。

    柱形图

    柱形图的创建,非常地简单,传入标签和具体的值等数据,即可快速实现。下面是作者给出的示例:

    from chart import bar
    
    x = [500, 200, 900, 400]
    y = ['marc', 'mummify', 'chart', 'sausagelink']
    
    bar(x, y)

    柱形图默认的数据点标记图形,是 ▇,但是也支持自定义。

           marc: ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇
    
        mummify: ▇▇▇▇▇▇▇
    
          chart: ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇
    
    sausagelink: ▇▇▇▇▇▇▇▇▇▇▇▇▇

    比如说,可以改成:

    不用第三方库,也能用 Python 作图,效果还不错

    从上面的示例,还可以看出, bar 函数还接受 pandas 数据框的列数据

    直方图

    直方图也很简单,提供了 histogram 快捷函数。

    不用第三方库,也能用 Python 作图,效果还不错

    散点图

    不用第三方库,也能用 Python 作图,效果还不错

    RangeScaler

    以 bar 图形为例,我们看到 x 轴的值相差可能会非常大:[500,200,900,400],示例中最大有 700 的差值。在显示图表的时候,我们知道屏幕的范围是有限的,因此必须要限制柱形的最大高度。

    给定数值范围后,就需要对 x 轴的值进行预处理,将所有的数据统一到同一个范围内,这也是整个库最为重要、最为核心的部分了。

    不用第三方库,也能用 Python 作图,效果还不错

    结语

    开头提到,这个库的功能简单,没有任何依赖,因此代码量很少,非常适合大家阅读它的源代码。

    刚才用到的 bar、histogram、scatter 和 RangeScaler 等函数,建议收藏本文后,进入项目页面查看相关源代码。


    起源地下载网 » 不用第三方库,也能用 Python 作图,效果还不错

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元