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 相关文章推荐
Windows下Python使用Pandas模块操作Excel文件的教程
May 31 Python
使用python调用zxing库生成二维码图片详解
Jan 10 Python
在VS Code上搭建Python开发环境的方法
Apr 06 Python
python3+PyQt5使用数据库窗口视图
Apr 24 Python
解决Python requests库编码 socks5代理的问题
May 07 Python
python 匹配url中是否存在IP地址的方法
Jun 04 Python
Pycharm2017版本设置启动时默认自动打开项目的方法
Oct 29 Python
python机器学习库scikit-learn:SVR的基本应用
Jun 26 Python
python笔记_将循环内容在一行输出的方法
Aug 08 Python
django 模版关闭转义方式
May 14 Python
Python实现中英文全文搜索的示例
Dec 04 Python
Scrapy实现模拟登录的示例代码
Feb 21 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中在数据库中保存Checkbox数据(2)
2006/10/09 PHP
弄了个检测传输的参数是否为数字的Function
2006/12/06 PHP
php采用curl实现伪造IP来源的方法
2014/11/21 PHP
PHP设计模式之 策略模式Strategy详解【对象行为型】
2020/05/01 PHP
使用javascript访问XML数据的实例
2006/12/27 Javascript
一个报数游戏js版(约瑟夫环问题)
2010/08/05 Javascript
用jquery.sortElements实现table排序
2014/05/04 Javascript
实例详解jQuery结合GridView控件的使用方法
2016/01/04 Javascript
js实现String.Fomat的实例代码
2016/09/02 Javascript
jQuery表单验证简单示例
2016/10/17 Javascript
Angularjs处理页面闪烁的解决方法
2017/03/09 Javascript
微信小程序中使用Promise进行异步流程处理的实例详解
2017/08/17 Javascript
JavaScript错误处理操作实例详解
2019/01/04 Javascript
vue中的v-if和v-show的区别详解
2019/09/01 Javascript
js+css3实现简单时钟特效
2020/09/13 Javascript
python去掉字符串中重复字符的方法
2014/02/27 Python
python中from module import * 的一个坑
2014/07/20 Python
python复制与引用用法分析
2015/04/08 Python
100行python代码实现跳一跳辅助程序
2018/01/15 Python
Python中的默认参数实例分析
2018/01/29 Python
Django使用AJAX调用自己写的API接口的方法
2019/03/06 Python
Python----数据预处理代码实例
2019/03/20 Python
使用phonegap获取设备的一些信息方法
2017/03/31 HTML / CSS
使用html5新特性轻松监听任何App自带返回键的示例
2018/03/13 HTML / CSS
美国女性卫生用品公司:Thinx
2017/06/30 全球购物
英国复古服装和球衣购买网站:3Retro Football
2018/07/09 全球购物
第二层交换机和路由器的区别?第三层交换机和路由器的区别?
2013/05/23 面试题
.net面试题
2015/12/22 面试题
团员个人的自我评价
2013/12/02 职场文书
私人委托书格式
2014/09/10 职场文书
2014年机关党委工作总结
2014/12/11 职场文书
班主任自我评价范文
2015/03/11 职场文书
小学数学国培研修日志
2015/11/13 职场文书
科级干部培训心得体会
2016/01/06 职场文书
MySQL into_Mysql中replace与replace into用法案例详解
2021/09/14 MySQL
Oracle锁表解决方法的详细记录
2022/06/05 Oracle