范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

Pygal是一个Python开发的动态SVG图表库介绍和数据可视化

  1 说明:
  =====
  1.1 Pygal 是另一个简单易用的数据图库,它以面向对象的方式来创建各种数据图。
  1.2 Pygal 可以非常方便地生成各种格式的数据图,包括 PNG、SVG 等。
  1.3 Pygal 也可以生成 XML etree、HTML 表格(这些都需要安装其他包)。
  1.4 优点:支持中文,自动配色且优美,交互性强,代码简单。
  2 准备:
  =====
  2.1 环境:
  华为笔记本电脑、深度deepin-linux操作系统、python3.8和微软vscode编辑器。
  2.2 安装:pip install pygal #本机安装 #sudo pip3.8 install pygal  #没反应 #推荐国内源安装 #sudo pip3.8 install -i https://mirrors.aliyun.com/pypi/simple pygal #超快#Python框架-pygal之世界地图 pip install pygal_maps_world #本机安装,推荐国内源安装 sudo pip3.8 install -i https://mirrors.aliyun.com/pypi/simple pygal_maps_world
  2.3 官网地址:http://www.pygal.org/en/stable/documentation/first_steps.html http://www.pygal.org/en/stable/documentation/types/index.html#chart-types https://github.com/Kozea/pygal
  3 数据可视化:
  ==========
  3.1 饼图
  3.1.1 代码:import pygal # 数据,形式字典 data = {"苹果":0.16881, "花生":0.14996, "梨子":0.07471,  "桃子":0.06992, "西瓜":0.04762, "芒果":0.03541,  "桔子":0.02925, "杨梅":0.02411, "香蕉":0.06316,  "哈密瓜":0.01409, "樱桃":0.36326} # 创建图(饼图) graph = pygal.Pie()     # 从字典中添加数据 for k in data.keys():     graph.add(k, data[k]) # 设置图标题 graph.title = "2020年5月水果销售情况"      # 设置图例位置(下面) graph.legend_at_bottom = True                   # 指定路径和目录保存,文件名为:fruitpie.svg graph.render_to_file("/home/xgj/Desktop/pygal/fruitpie.svg")
  3.1.2 具体操作步骤和效果图:
  3.2 空心饼图:
  3.2.1 代码:import pygal # 数据,形式字典 data = {"苹果":0.16881, "花生":0.14996, "梨子":0.07471,  "桃子":0.06992, "西瓜":0.04762, "芒果":0.03541,  "桔子":0.02925, "杨梅":0.02411, "香蕉":0.06316,  "哈密瓜":0.01409, "樱桃":0.36326} graph = pygal.Pie() for k in data.keys():     graph.add(k, data[k]) graph.title = "2020年5月水果销售情况" graph.legend_at_bottom = True #空心饼图,增加这一行,空心内圆半径比值0.5 graph.inner_radius = 0.5      graph.render_to_file("/home/xgj/Desktop/pygal/fruit-inner-pie.svg")
  3.2.2 效果图:
  3.3 半圆形:
  3.3.1 代码:import pygal # 数据,形式字典 data = {"苹果":0.16881, "花生":0.14996, "梨子":0.07471,  "桃子":0.06992, "西瓜":0.04762, "芒果":0.03541,  "桔子":0.02925, "杨梅":0.02411, "香蕉":0.06316,  "哈密瓜":0.01409, "樱桃":0.36326} graph = pygal.Pie() for k in data.keys():     graph.add(k, data[k]) graph.title = "2020年5月水果销售情况" graph.legend_at_bottom = True #半圆饼图:增加这一行 graph.half_pie = True     graph.render_to_file("/home/xgj/Desktop/pygal/fruit-half-pie.svg")
  3.3.2 效果图:
  =====请注意:小不规范(故意的),在python中命名,建议这样:fruit_half_pie.svg=====
  3.4 柱状图:
  3.4.1 代码:""" #方法一: import pygal                                                        bar_chart = pygal.Bar()                                             bar_chart.add("Firsrt组", [0, 1, 1, 2, 3, 5, 8, 13])   bar_chart.add("Second组", [55, 34, 21, 13, 8, 5, 3, 2])  bar_chart.render_to_file("/home/xgj/Desktop/pygal/bar_chart.svg")  """  #方法二: import pygal                                                        bar_chart = pygal.Bar()  #数据 data0=[0, 1, 1, 2, 3, 5, 8, 13] data1=[55, 34, 21, 13, 8, 5, 3, 2] labels=["Firsrt组","Second组"] #第一条bar bar_chart.add(labels[0], data0)  #第二条bar  bar_chart.add(labels[1], data1) #当然,也可以第n条bar...... #默认左上角,也可自定义如下 #bar_chart.legend_at_bottom = True bar_chart.render_to_file("/home/xgj/Desktop/pygal/bar_chart.svg")
  3.4.2 以上故意中英文定义:看看中文支持否;数据两种布局,主要是为了今后用python从外部读取数据做准备。
  3.4.3 效果图:
  3.5 stackbar叠柱图:
  3.5.1 代码:import pygal # 数据读取年的数据,并字符串化 year_data = [str(i) for i in range(2011, 2020)] #数据 banana_data = [3500,4300,7500,5500,3200,2100,4700,6100,3900] apple_data =[3100,3400,5100,2700,3800,2600,3200,4200,4700] # 创建图(叠加柱状图) garph = pygal.StackedBar()     #garph = pygal.Dot()     # 创建图(点图) #garph = pygal.StackedLine()    # 创建图(叠加折线图) # 添加数据 garph.add("香蕉的历年销量", banana_data) garph.add("苹果的历年销量", apple_data) garph.x_labels = year_data            # 设置 X 轴刻度 garph.y_label_rotation = 45           # 设置Y轴的标签旋转多少度 garph.title = "香蕉与苹果历年的销量分析"  # 设置图标题 garph.x_title = "年份"                 # 设置 X 轴标题 garph.y_title = "销量(吨)"            # 设置 Y 轴标题 garph.legend_at_bottom = True         # 设置图例位置(下面) # 设置页边距(margin_bottom、margin_top、margin_left、margin_right) garph.margin = 35     garph.show_x_guides = True    # 显示X轴的网格线 garph.show_y_guides = True    # 显示Y轴的网格线 # 输出到图片文件 garph.render_to_file("/home/xgj/Desktop/pygal/stackbar.svg")
  3.5.2 效果图:
  3.5 单个直方图:
  3.5.1 代码: import pygal #直方图 data = [1,2,3,1,2,3,1,2,3,4,5,6,1,1,1,1,1] #Python set() 函数# 重复的被删除 x_value = list(set(data)) #统计 freq = [] for i in x_value:     #data.count(i) #计算data中某个数,比如1,有几个=8个     res = data.count(i)     #append添加到列表中     freq.append(res) #可视化 hist = pygal.Bar() #标题 hist.title = "直方图" hist._x_title = "x坐标" hist._y_title = "y坐标" hist.x_labels = x_value hist.add("人数",freq)       #添加到图表 #图表渲染为svg,用浏览器打开svg文件 hist.render_to_file("/home/xgj/Desktop/pygal/a.svg")
  3.5.2 复习python的基础知识:注释里有。
  3.5.3 效果图:
  3.6 自定义直方图:
  3.6.1 代码:import pygal hist = pygal.Histogram() #(y轴高度,x轴开始坐标,x轴结束坐标) hist.add("人数",[(4,1,1.5),(5,2,2.5),(6,3,3.5)]) #标题 hist.title = "自定义直方图" hist.render_to_file("/home/xgj/Desktop/pygal/a1.svg")
  3.6.2 效果图:
  4 浏览器自动打开数据可视化:
  ======================
  4.1 提前安装:lxml#安装lxml: pip install lxml #本机安装:sudo pip3.8 install lxml  #很慢 #sudo pip3.8 install -i https://mirrors.aliyun.com/pypi/simple lxml  #超快
  4.2 雷达图的示例的代码:import pygal #数据 pythond = [48,60,60,34,30] JavaScriptd = [41,56,73,32,30] cd = [55,70,54,39,50] #标签 labels = ["下载量","提交量","薪酬","人数","普及"]  #雷达图设计(Radar:雷达、Bar:柱状、Line:线状),对应修改即可 rader_chart = pygal.Radar() rader_chart.title = "3组计算机语言的数据比较" #添加各个顶点含义 rader_chart.x_labels = labels rader_chart.add("python",pythond)    rader_chart.add("JavaScript",JavaScriptd) rader_chart.add("C",cd) #将数据渲染到浏览器;这是启动自动浏览器打开才有这样的 #文件默认保存地址和名称:file:///tmp/tmp5ehvol2e.html,随机文件名 rader_chart.render_in_browser()  #如果没有安装,就报错,安装lxml就可以了
  4.3 操作步骤和效果图:
  5 世界地图绘制:
  ============
  5.1 代码来源:#https://www.cnblogs.com/keqipu/p/7283991.html
  5.2 代码:import pygal.maps.world worldmap_chart = pygal.maps.world.World() worldmap_chart.title = "Some countries" worldmap_chart.add("F countries", ["fr", "fi"]) worldmap_chart.add("M countries", ["ma", "mc", "md", "me", "mg",                                    "mk", "ml", "mm", "mn", "mo",                                    "mr", "mt", "mu", "mv", "mw",                                    "mx", "my", "mz"]) worldmap_chart.add("U countries", ["ua", "ug", "us", "uy", "uz"]) worldmap_chart.render_to_file("/home/xgj/Desktop/pygal/world-map.svg")
  5.3 效果图:
  ===非常不错===
  自己整理并分享出来,喜欢的就点赞、转发、评论和收藏。

大杨答疑原生家庭带给自己的伤害,以至于对父母又爱又恨老师好,我想说一下我心里的困惑,请老师帮梳理梳理!我的父亲是一个老师,小时候对我们的学习要求特别严格。我的两个哥哥上初二初三时,和父母对着干,自己把课本烧了不上学。剩下我,爸妈什么到底是什么把我从古惑仔的青春中救赎出来?古惑仔般的青春岁月我出生在70年代广东一个普通的农村家庭,是三兄弟中的老小。生性活泼好玩的我,小学时成绩还不错。升入初中,结识了一群好兄弟后,我开始无心向学,跟他们一起逃学抽烟打架孩子越管,问题越多,放手的父母到底做对了哪点?面对孩子的教育问题,几乎所有的父母,都曾经或者正在经历一个怪圈越努力解决孩子出现的问题,孩子反倒有更多的问题。那是因为,我们被假性教育问题控制了,父母深陷其中,孩子痛苦不堪。就像是13岁男孩争吵后杀死母亲最大的失控,藏在这个细节里2020年2月25日,四川眉山市一名13岁的男孩,在与母亲争吵后,在家中将其杀害。2019年10月21日,河南一名12岁女孩与妈妈吵架,爬上十六楼,想要轻生。2019年4月17日,那些自杀的孩子,他们的父母都忽视了这一件事情最近的新闻五花八门,但是关于孩子的,尤其是让人痛心的消息,总是能一下子揪起我们的心。前一段,17岁少年跳桥的事件,那一声叹息还未平复。近日,重庆市鲁能巴蜀中学一女生何某,在家中跳楼为什么二婚的失败率更高?学员问为什么二次婚姻的失败率更高?大杨老师答第一次婚姻失败,如果不在因上工作,第二次失败的概率更高。美国有婚姻数据调查第一次婚姻失败的概率是30,第二次失败的概率是60,第三次失败优等生女儿突然不愿意上学,她如何和孩子一起走出阴霾?她是一名高中优秀老师,她的女儿小学初中的优待生,被保送重点高中。但高一没多久,因为两次考试的失利,不愿意再去学校,并被医生不肯定的诊断为抑郁。她给孩子请1小时1000元收费的心理咨被假性教育问题累死的孩子们面对孩子的教育问题,几乎所有的父母,都曾经或者正在经历一个怪圈越努力解决孩子出现的问题,孩子反倒有更多的问题。那是因为,我们被假性教育问题控制了,父母深陷其中,孩子痛苦不堪。就像是曾是孩子心中烂草莓的父亲,培养出了在联合国工作的女儿图片来自网络一个烂草莓的定义,开启了一个父亲的成长之路!小编作者武海民老师完形幸福充电宝讲师我从小生活在农村,却几乎没干过什么农活儿。平时能为家庭所做的事情,就是放学之后割草放羊。面对病重的父亲,我却选择了逃避。。经常听到这样一句话我命由我不由天。我原来一直以为命运只要你肯努力就可以改变,慢慢的随着年龄增长,经历了一些人生痛苦后发现自己理解错了,自己所谓的改变的只是外在的,而真正让我们幸福,导师解惑老公投资失败亏了几十万,我怎么才能不怨恨?学员提问九年前老公自作主张去投资做生意,不征求意见也不听建议,跟家里兄弟姐妹借了二十多万,亏了五十多万。现在都没办法还钱,感觉自己是受害者,对老公的各种怨恨,每天的生活都很痛苦。图
扎耳朵放血?祖传秘方?我妈坚信这些能治好我的白癜风最早生病的时候,是在初中的时候,最开始我也没意识到是白癜风,因为最开始就一小点,慢慢白斑越来越大,我妈变得紧张起来,而且经常跟我爸说悄悄话,我无意从邻居大娘嘴里得知我已经去世的爷爷2019年全球手机销量下滑,用户期待更好的5G手机2020年2月4日国际调查机构IDC发布调查数据显示,2019年第四季度全球智能手机总出货量达到3。68亿部,同比下降1。1。报告中表示随着5G网络的到来,中国消费者正在期待性价比强迫性关注怎么办?强迫症朋友秋水老师,我有强迫性关注。我不能在头顶上有东西的地方,比如今天上课的位置,我突然发现头顶上有空调,我担心它掉下来。但我又走不掉的时候就只能难受地继续做事。如果再这样下去,鄱湖最美,我的家文袁运录每次回家看娘,都要途径鄱阳湖景区。无论是春夏,或是秋冬,鄱阳湖都有不同的景致。每次路过,都要停下来拍几张,而且走走停停,恨不得把鄱阳湖的湖光天色全部拍下来,舍不得留下半点。创造生命的热度谨以此文献给我爱的人和给我生命热度的人文袁运录人体靠什么维持体温?生命能量是又是如何形成的?今天袁老师站在心理学的角度来谈谈这个话题。人体的热量从导入的维度,可以分外部导入和内部产层次高的人不会生闷气文袁运录古时候,有个叫爱地巴的人,他一生气就跑回家去,然后绕着自己的房子和土地跑三圈。后来他的房子越来越大,土地也越来越广。可是一生气,他还是绕着房子土地跑三圈,哪怕累的气喘吁吁汗本来无一物何处惹尘埃上海莉莉(秋水口吃班第十六期)我曾经是一个口吃病患者,虽然基本没有人发现过我的口吃现象,但内心的痛苦总是在每次有口吃预感的时候来临,即使我很巧妙地运用替换词或者前置某些发音词等转移口吃探秘之一我的矫治口吃之路口吃探秘之一我的矫治口吃之路我的矫治口吃之路作者北国风光一秋水老师印象与秋水老师素不相识,至今未曾谋面。有过电话联系,也是只言片语。秋水老师何许人也?江西省余干县人,曾经深受口吃之如何化解心中的仇恨文袁运录在家庭,在职场,父母与子女,管理者与被管理者之间常常会发生一些摩擦和矛盾,甚至留下仇怨。如何化解他们之间的矛盾或仇恨,这就需要理解。站在管理者的角度,心里有情绪,就会居高临育儿有招!小朋友喜欢打人怎么办?3岁左右的小朋友开始有自主意识后,就出现了喜欢打人的现象。虽然家长对这种现象很不喜,与孩子苦口婆心说很久,但是一点实质效果也没有。打也打了,骂也骂了,可孩子还是喜欢打人,应该怎么办20岁小伙表白失败,喝酒解愁半个月,身体出现大变化,吓坏朋友因为表白失败,天天借酒消愁,身边的朋友看不下去了,争吵中,朋友把患者衣服撕坏,没想到一身的白斑把朋友吓跑了。20岁的石头前段时间去跟喜欢的一个女生表白,没想到女生拒绝了,甚至还贬低