Python編程pygal繪圖實(shí)例之XY線
安裝pygal,可參閱:pip和pygal的安裝實(shí)例教程
基本XY線:
import pygal
from math import cos
"""
XY線是將各個(gè)點(diǎn)用直線連接起來(lái)的折線圖
需提供一個(gè)橫縱坐標(biāo)元組作為元素的列表
"""
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')

散點(diǎn)圖:
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')

日期:
你可以使用日期模塊繪制與日期有關(guān)的圖表
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')

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')

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')

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')

總結(jié)
以上就是本文關(guān)于Python編程pygal繪圖實(shí)例之XY線的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專(zhuān)題,如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!
相關(guān)文章
python爬蟲(chóng)實(shí)戰(zhàn)steam加密逆向RSA登錄解析
今天帶來(lái)爬蟲(chóng)實(shí)戰(zhàn)的文章。在挑選游戲的過(guò)程中感受學(xué)習(xí),讓你突飛猛進(jìn)。本文主要實(shí)現(xiàn)用Python逆向登錄世界上最大的游戲平臺(tái)源碼分享,了解steam加密手段有多高明2021-10-10
python問(wèn)題匯總之pycharm查找不到安裝的庫(kù)解決
這篇文章主要給大家介紹了關(guān)于python問(wèn)題匯總之pycharm查找不到安裝庫(kù)的解決方法,PyCharm是一款非常流行的Python集成開(kāi)發(fā)環(huán)境(IDE),它提供了豐富的功能和插件,可以幫助程序員更高效地編寫(xiě)Python代碼,需要的朋友可以參考下2023-09-09
Python OpenCV學(xué)習(xí)之特征點(diǎn)檢測(cè)與匹配詳解
提取圖像的特征點(diǎn)是圖像領(lǐng)域中的關(guān)鍵任務(wù),不管在傳統(tǒng)還是在深度學(xué)習(xí)的領(lǐng)域中,特征代表著圖像的信息,對(duì)于分類(lèi)、檢測(cè)任務(wù)都是至關(guān)重要的。這篇文章主要為大家詳細(xì)介紹了OpenCV特征點(diǎn)檢測(cè)與匹配,需要的可以參考一下2022-01-01
Python實(shí)現(xiàn)隨機(jī)生成任意數(shù)量車(chē)牌號(hào)
這篇文章主要介紹了Python實(shí)現(xiàn)隨機(jī)生成任意數(shù)量車(chē)牌號(hào),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-01-01
pip 安裝庫(kù)比較慢的解決方法(國(guó)內(nèi)鏡像)
對(duì)于Python開(kāi)發(fā)用戶(hù)來(lái)講,PIP安裝軟件包是家常便飯。但國(guó)外的源下載速度實(shí)在太慢,浪費(fèi)時(shí)間。而且經(jīng)常出現(xiàn)下載后安裝出錯(cuò)問(wèn)題,所以把PIP安裝源替換成國(guó)內(nèi)鏡像,可以大幅提升下載速度,還可以提高安裝成功率2019-10-10

