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外星人入侵游戏编程完整版
Mar 30 Python
centos6.8安装python3.7无法import _ssl的解决方法
Sep 17 Python
python+pyqt5编写md5生成器
Mar 18 Python
从0开始的Python学习016异常
Apr 08 Python
Python中的十大图像处理工具(小结)
Jun 10 Python
Python列表的切片实例讲解
Aug 20 Python
详解Python绘图Turtle库
Oct 12 Python
利用pandas将非数值数据转换成数值的方式
Dec 18 Python
深入浅析python的第三方库pandas
Feb 13 Python
pycharm部署、配置anaconda环境的教程
Mar 24 Python
Mysql数据库反向生成Django里面的models指令方式
May 18 Python
Selenium webdriver添加cookie实现过程详解
Aug 12 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获取英文姓名首字母的方法
2015/07/13 PHP
深入浅析PHP7.0新特征(五大新特征)
2015/10/29 PHP
掌握PHP垃圾回收机制详解
2019/03/13 PHP
thinkphp5框架实现的自定义扩展类操作示例
2019/05/16 PHP
百度 popup.js 完美修正版非常的不错 脚本之家推荐
2009/04/17 Javascript
node.js中的fs.link方法使用说明
2014/12/15 Javascript
jquery解决客户端跨域访问问题
2015/01/06 Javascript
js实现鼠标经过表格行变色的方法
2015/05/12 Javascript
javaScript实现可缩放的显示区效果代码
2015/10/26 Javascript
Bootstrap学习笔记之css组件(3)
2016/06/07 Javascript
最佳的JavaScript错误处理实践
2016/07/16 Javascript
javascript遍历json对象的key和任意js对象属性实例
2017/03/09 Javascript
javascript编写简易计算器
2017/05/06 Javascript
利用javascript如何随机生成一定位数的密码
2017/09/22 Javascript
在Vue组件上动态添加和删除属性方法
2018/02/23 Javascript
Node.js中读取TXT文件内容fs.readFile()用法
2018/10/10 Javascript
Nodejs实现多文件夹文件同步
2018/10/17 NodeJs
Vue项目中使用WebUploader实现文件上传的方法
2019/07/21 Javascript
[05:28]刀塔密之一:团结则存
2014/07/03 DOTA
python实现带错误处理功能的远程文件读取方法
2015/04/29 Python
django项目运行因中文而乱码报错的几种情况解决
2017/11/07 Python
win10系统Anaconda和Pycharm的Tensorflow2.0之CPU和GPU版本安装教程
2019/12/03 Python
python 实现单通道转3通道
2019/12/03 Python
PYQT5 vscode联合操作qtdesigner的方法
2020/03/24 Python
解决更改AUTH_USER_MODEL后出现的问题
2020/05/14 Python
详解Python3.8+PyQt5+pyqt5-tools+Pycharm配置详细教程
2020/11/02 Python
HTML5标签使用方法详解
2015/11/27 HTML / CSS
详解HTML5中的拖放事件(Drag 和 drop)
2016/11/14 HTML / CSS
传播学专业毕业生自荐信
2013/11/04 职场文书
临床医学专业学生的自我评价分享
2013/11/21 职场文书
模具设计与制造专业推荐信
2014/02/16 职场文书
清明节网上祭英烈活动总结
2014/04/30 职场文书
向国旗敬礼活动小结
2014/09/27 职场文书
个人求职自荐信范文
2015/03/06 职场文书
一篇文章看懂MySQL主从复制与读写分离
2021/11/07 MySQL
JavaScript实现队列结构过程
2021/12/06 Javascript