Python编程pygal绘图实例之XY线


Posted in Python onDecember 09, 2017

安装pygal,可参阅:pip和pygal的安装实例教程

基本XY线:

import pygal
from math import cos

"""
XY线是将各个点用直线连接起来的折线图
需提供一个横纵坐标元组作为元素的列表
"""
xy_chart = pygal.XY()
xy_chart.title = 'XY Cosinus'
xy_chart.add('x = cos(y)', [(cos(x / 10.), x / 10.) for x in range(-50, 50, 5)])
xy_chart.add('y = cos(x)', [(x / 10., cos(x / 10.)) for x in range(-50, 50, 5)])
xy_chart.add('x = 1', [(1, -5), (1, 5)])
xy_chart.add('x = -1', [(-1, -5), (-1, 5)])
xy_chart.add('y = 1', [(-5, 1), (5, 1)])
xy_chart.add('y = -1', [(-5, -1), (5, -1)])
xy_chart.render_to_file('bar_chart.svg')

Python编程pygal绘图实例之XY线

散点图:

import pygal

xy_chart = pygal.XY(stroke=False)
xy_chart.title = 'Correlation'
xy_chart.add('A', [(0, 0), (.1, .2), (.3, .1), (.5, 1), (.8, .6), (1, 1.08), (1.3, 1.1), (2, 3.23), (2.43, 2)])
xy_chart.add('B', [(.1, .15), (.12, .23), (.4, .3), (.6, .4), (.21, .21), (.5, .3), (.6, .8), (.7, .8)])
xy_chart.add('C', [(.05, .01), (.13, .02), (1.5, 1.7), (1.52, 1.6), (1.8, 1.63), (1.5, 1.82), (1.7, 1.23), (2.1, 2.23), (2.3, 1.98)])
xy_chart.render_to_file('bar_chart.svg')

Python编程pygal绘图实例之XY线

日期:

你可以使用日期模块绘制与日期有关的图表

DateTime

import pygal

from datetime import datetime
datetimeline = pygal.DateTimeLine(
  x_label_rotation=35, truncate_label=-1,
  x_value_formatter=lambda dt: dt.strftime('%d, %b %Y at %I:%M:%S %p'))
datetimeline.add("Serie", [
  (datetime(2013, 1, 2, 12, 0), 300),
  (datetime(2013, 1, 12, 14, 30, 45), 412),
  (datetime(2013, 2, 2, 6), 823),
  (datetime(2013, 2, 22, 9, 45), 672)
])
datetimeline.render_to_file('bar_chart.svg')

Python编程pygal绘图实例之XY线

Date

import pygal

from datetime import date
dateline = pygal.DateLine(x_label_rotation=25)
dateline.x_labels = [
  date(2013, 1, 1),
  date(2013, 7, 1),
  date(2014, 1, 1),
  date(2014, 7, 1),
  date(2015, 1, 1),
  date(2015, 7, 1)
]
dateline.add("Serie", [
  (date(2013, 1, 2), 213),
  (date(2013, 8, 2), 281),
  (date(2014, 12, 7), 198),
  (date(2015, 3, 21), 120)
])
dateline.render_to_file('bar_chart.svg')

Python编程pygal绘图实例之XY线

Time

import pygal
from datetime import time

dateline = pygal.TimeLine(x_label_rotation=25)
dateline.add("Serie", [
  (time(), 0),
  (time(6), 5),
  (time(8, 30), 12),
  (time(11, 59, 59), 4),
  (time(18), 10),
  (time(23, 30), -1),
])
dateline.render_to_file('bar_chart.svg')

Python编程pygal绘图实例之XY线

TimeDelta

import pygal
from datetime import timedelta

dateline = pygal.TimeDeltaLine(x_label_rotation=25)
dateline.add("Serie", [
 (timedelta(), 0),
 (timedelta(seconds=6), 5),
 (timedelta(minutes=11, seconds=59), 4),
 (timedelta(days=3, microseconds=30), 12),
 (timedelta(weeks=1), 10),
])
dateline.render_to_file('bar_chart.svg')

Python编程pygal绘图实例之XY线

总结

以上就是本文关于Python编程pygal绘图实例之XY线的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

Python 相关文章推荐
Python中的魔法方法深入理解
Jul 09 Python
Python日志模块logging简介
Apr 13 Python
如何在Python函数执行前后增加额外的行为
Oct 20 Python
Python Socket实现简单TCP Server/client功能示例
Aug 05 Python
Python  unittest单元测试框架的使用
Sep 08 Python
Python Numpy 实现交换两行和两列的方法
Jun 26 Python
python数据持久存储 pickle模块的基本使用方法解析
Aug 30 Python
python 读取更新中的log 或其它文本方式
Dec 24 Python
python 引用传递和值传递详解(实参,形参)
Jun 05 Python
python简单利用字典破解zip文件口令
Sep 07 Python
Python用摘要算法生成token及检验token的示例代码
Dec 01 Python
python中的被动信息搜集
Apr 29 Python
同时安装Python2 & Python3 cmd下版本自由选择的方法
Dec 09 #Python
基于Python中capitalize()与title()的区别详解
Dec 09 #Python
Python IDLE入门简介
Dec 08 #Python
利用Python找出序列中出现最多的元素示例代码
Dec 08 #Python
Python排序搜索基本算法之归并排序实例分析
Dec 08 #Python
Python实现基于二叉树存储结构的堆排序算法示例
Dec 08 #Python
Python排序搜索基本算法之堆排序实例详解
Dec 08 #Python
You might like
php采集速度探究总结(原创)
2008/04/18 PHP
fckeditor上传文件按日期存放及重命名方法
2015/05/22 PHP
PHP内核学习教程之php opcode内核实现
2016/01/27 PHP
使用JQuery和s3captche实现一个水果名字的验证
2009/08/14 Javascript
js DataSet数据源处理代码
2010/03/29 Javascript
基于jquery库的tab新形式使用
2012/11/16 Javascript
利用js判断浏览器类型(是否为IE,Firefox,Opera浏览器)
2013/11/22 Javascript
jQuery中验证表单提交方式及序列化表单内容的实现
2014/01/06 Javascript
两种方法实现在HTML页面加载完毕后运行某个js
2014/06/16 Javascript
js实现背景图片感应鼠标变化的方法
2015/02/28 Javascript
javascript电商网站抢购倒计时效果实现
2015/11/19 Javascript
jQuery javascript获得网页的高度与宽度的实现代码
2016/04/26 Javascript
socket.io学习教程之基本应用(二)
2017/04/29 Javascript
JS实现经典的中国地区三级联动下拉菜单功能实例【测试可用】
2017/06/06 Javascript
详解React native全局变量的使用(跨组件的通信)
2017/09/07 Javascript
基于layui数据表格以及传数据的方式
2018/08/19 Javascript
React中使用UEditor百度富文本的方法
2018/08/22 Javascript
Vue中Axios从远程/后台读取数据
2019/01/21 Javascript
Elasticsearch实现复合查询高亮结果功能
2019/09/10 Javascript
npm qs模块使用详解
2020/02/07 Javascript
jquery实现点击弹出对话框
2020/02/08 jQuery
[01:08:43]DOTA2-DPC中国联赛定级赛 Phoenix vs DLG BO3第一场 1月9日
2021/03/11 DOTA
解决安装tensorflow遇到无法卸载numpy 1.8.0rc1的问题
2018/06/13 Python
详解Python发送email的三种方式
2018/10/18 Python
Linux下Pycharm、Anaconda环境配置及使用踩坑
2018/12/19 Python
在Python中使用Neo4j的方法
2019/03/14 Python
SOKOLOV官网:俄罗斯珠宝首饰品牌
2021/01/02 全球购物
夜大毕业生自我评价分享
2013/11/10 职场文书
小区门卫管理制度
2014/01/29 职场文书
餐饮部总监岗位职责范文
2014/02/13 职场文书
竞选班委演讲稿
2014/04/28 职场文书
家长意见和建议怎么写
2015/06/04 职场文书
八年级物理教学反思
2016/02/19 职场文书
毕业生就业推荐表自我鉴定
2019/06/20 职场文书
CSS巧用渐变实现高级感背景光动画
2021/12/06 HTML / CSS
搭建Yolov5服务器
2022/04/30 Servers