十五.PyEcharts常用视图(1)

目录

十二.PyEcharts常用视图(1)

1-PyEcharts-Faker

2-常用视图

2.1 柱状图

普通柱状图

条形柱状图

堆叠柱状图

象形柱状图

颜色自定义

2.2 折线图

基本折线图

折线图常用属性

面积图

堆叠面积图

2.3 散点图

2.4 双轴图

2.5 饼图

基本饼图

空心饼图

玫瑰图

图例调整

文字调整

2.6 雷达图

单例模式

2.7 时间轴


感谢度娘及开发者.


1-PyEcharts-Faker

from pyecharts.faker import Faker
方法属性说明对应内容
Faker.choose()[“衬衫”, “毛衣”, “领带”, “裤子”, “风衣”, “高跟鞋”, “袜子”]
Faker.values()[106, 111, 145, 33, 20, 138, 141]
Faker.drinks[“可乐”, “雪碧”, “橙汁”, “绿茶”, “奶茶”, “百威”, “青岛”]
Faker.phones[“小米”, “三星”, “华为”, “苹果”, “魅族”, “VIVO”, “OPPO”]
Faker.fruits[“草莓”, “芒果”, “葡萄”, “雪梨”, “西瓜”, “柠檬”, “车厘子”]
Faker.animal[“河马”, “蟒蛇”, “老虎”, “大象”, “兔子”, “熊猫”, “狮子”]
Faker.cars[“宝马”, “法拉利”, “奔驰”, “奥迪”, “大众”, “丰田”, “特斯拉”]
Faker.dogs[“哈士奇”, “萨摩耶”, “泰迪”, “金毛”, “牧羊犬”, “吉娃娃”, “柯基”]
Faker.week[“周一”, “周二”, “周三”, “周四”, “周五”, “周六”, “周日”]
Faker.week_en[‘Saturday’, ‘Friday’, ‘Thursday’, ‘Wednesday’, ‘Tuesday’, ‘Monday’, ‘Sunday’]
Faker.clock[‘12a’,‘1a’,‘2a’,‘3a’,‘4a’,‘5a’,‘6a’,...,4p’,‘5p’,‘6p’,‘7p’,‘8p’,‘9p’,‘10p’,‘11p’]
Faker.visual_color[ “#313695”, “#4575b4”, “#74add1”, “#abd9e9”, .....]
Faker.months‘1月’, ‘2月’, ‘3月’, ‘4月’, ‘5月’, ‘6月’, ‘7月’, ‘8月’, ‘9月’, ‘10月’, ‘11月’, ‘12月’]
Faker.provinces[“广东”, “北京”, “上海”, “江西”, “湖南”, “浙江”, “江苏”]
Faker.guangdong_city[“汕头市”, “汕尾市”, “揭阳市”, “阳江市”, “肇庆市”, “广州市”, “惠州市”]
Faker.country[‘China’, ‘Canada’, ‘Brazil’, ‘Russia’, ‘United States’, ‘Africa’, ‘Germany’]
Faker.days_attrs[‘0天’,‘1天’,‘2天’,‘3天’,‘4天’,‘5天’,‘6天’, ‘7天’,‘8天’,... ...,‘28天’,‘29天’]
Faker.days_values生成的从1-30之间的随机天数,顺序是打乱的

2-常用视图

import pyecharts.options as opts
from pyecharts.faker import Faker
from pyecharts.globals import ThemeType

2.1 柱状图

普通柱状图

from pyecharts.charts import Bar
bar_img = (Bar().add_xaxis(Faker.choose()).add_yaxis("淘宝",Faker.values()).add_yaxis("京东",Faker.values()).set_global_opts(# 旋转x轴的字体(更美观,防止重合.)xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=-45)))
)
bar_img.render_notebook()

条形柱状图

横着显示.

bar_img = (Bar().add_xaxis(Faker.choose()).add_yaxis("淘宝",Faker.values()).add_yaxis("京东",Faker.values())# 翻转轴.reversal_axis().set_series_opts(# 字体显示在右边label_opts=opts.LabelOpts(position="right"))
​
)
bar_img.render_notebook()

堆叠柱状图

# 堆叠柱状图
bar_img = (Bar().add_xaxis(Faker.choose()).add_yaxis("淘宝",Faker.values(),stack="one").add_yaxis("京东",Faker.values(),stack="one").set_series_opts(#柱的值显不显示.label_opts=opts.LabelOpts(is_show=True))
)
bar_img.render_notebook()

象形柱状图

from pyecharts.charts import PictorialBar
from pyecharts.globals import SymbolType
​
pbar_img = (PictorialBar().add_xaxis(["小明","小红","小刚","王强","张伟","大伟","小帅"]).add_yaxis("票数",Faker.values(),# label_opts=opts.LabelOpts(is_show=False), #柱的值显不显示.(默认显示)label_opts=opts.LabelOpts(position="right"),#值在哪边显示.symbol=SymbolType.ROUND_RECT,  # 符号类型symbol_repeat="fixed",         # 重复方式symbol_size=30,                # 符号大小is_symbol_clip=True            # 特征长度.(不一样长)).reversal_axis()    #轴翻转..set_global_opts(xaxis_opts=opts.AxisOpts(is_show=False),  #不显示x轴yaxis_opts=opts.AxisOpts(axistick_opts=opts.AxisTickOpts(is_show=False),  # y轴刻度隐藏axisline_opts=opts.AxisLineOpts(is_show=False)   # y轴线隐藏))
)
​
pbar_img.render_notebook()

颜色自定义

--嵌套js代码,修改颜色.

from pyecharts.commons.utils import JsCode
##js代码看if条件.
color_function = """function(params){if(params.value>=0 && params.value<=49){return 'red';} else if (params.value>=50 && params.value<=99){return 'green';}else if (params.value>=100 && params.value<=149){return 'blue';}}
"""
bar_img = (Bar().add_xaxis(Faker.choose())# .add_yaxis("淘宝",Faker.values(),itemstyle_opts=opts.ItemStyleOpts(color="blue")).add_yaxis("淘宝",Faker.values(),itemstyle_opts=opts.ItemStyleOpts(color=JsCode(color_function))).add_yaxis("京东",Faker.values(),itemstyle_opts=opts.ItemStyleOpts(color=JsCode(color_function))).add_yaxis("天猫",Faker.values(),itemstyle_opts=opts.ItemStyleOpts(color=JsCode(color_function)))
​
)
bar_img.render_notebook()

2.2 折线图

from pyecharts.charts import Line

基本折线图

line_img = (Line().add_xaxis(Faker.choose()).add_yaxis("淘宝",Faker.values()).add_yaxis("京东",Faker.values(),is_smooth=True)   # 平滑曲线(曲线).set_global_opts(#添加提示线.tooltip_opts=opts.TooltipOpts(trigger="axis"))
)
line_img.render_notebook()

折线图常用属性

line_img = (Line(init_opts=opts.InitOpts(width="1000px",height="600px")  #设置像素大小.).add_xaxis(Faker.week).add_yaxis("淘宝",Faker.values()).add_yaxis("京东",Faker.values(),symbol="triangle",    # 形状symbol_size=15,       # 大小# 设置线条样式linestyle_opts=opts.LineStyleOpts(# 颜色,      宽度,   样式.color="green",width=3,type_="dashed"),label_opts=opts.LabelOpts(is_show=False),   # 不显示标签# 设置点的属性itemstyle_opts=opts.ItemStyleOpts(border_color="red",border_width=2),# 标注点markpoint_opts=opts.MarkPointOpts(data=[opts.MarkPointItem(type_="max"),# 最大值标注opts.MarkPointItem(type_="min"),# 最大值标注]),# 标注线markline_opts=opts.MarkLineOpts(data=[opts.MarkLineItem(type_="average")]))#添加提示线..set_global_opts(tooltip_opts=opts.TooltipOpts(trigger="axis")   )
)
line_img.render_notebook()

面积图

import pyecharts.options as opts
from pyecharts.charts import Line
from pyecharts.faker import Faker
​
line_img = (Line().add_xaxis(Faker.choose()).add_yaxis("商家A", Faker.values(), is_smooth=True).add_yaxis("商家B", Faker.values(), is_smooth=True).set_series_opts(# 添加面积,透明度0.5areastyle_opts=opts.AreaStyleOpts(opacity=0.5),label_opts=opts.LabelOpts(is_show=False),  #显不显示点值(默认显示). ).set_global_opts(title_opts=opts.TitleOpts(title="面积图"),xaxis_opts=opts.AxisOpts(# 紧贴 Y 轴(默认不紧贴,False紧贴)boundary_gap=False, ),#添加提示线.tooltip_opts=opts.TooltipOpts(trigger="axis")
​)
)
line_img.render_notebook()

堆叠面积图

line_img = (Line().add_xaxis(Faker.week).add_yaxis("淘宝",stack="堆叠",y_axis=Faker.values(),areastyle_opts=opts.AreaStyleOpts(opacity=0.7),# 添加面积部分颜色label_opts=opts.LabelOpts(is_show=False)    # 隐藏数据).add_yaxis("天猫",stack="堆叠",y_axis=Faker.values(),areastyle_opts=opts.AreaStyleOpts(opacity=0.7),# 添加面积部分颜色label_opts=opts.LabelOpts(is_show=False)).add_yaxis("京东",stack="堆叠",y_axis=Faker.values(),areastyle_opts=opts.AreaStyleOpts(opacity=0.7),# 添加面积部分颜色label_opts=opts.LabelOpts(is_show=False)).add_yaxis("拼多多",stack="堆叠",y_axis=Faker.values(),areastyle_opts=opts.AreaStyleOpts(opacity=0.7),# 添加面积部分颜色label_opts=opts.LabelOpts(is_show=False))
​.set_global_opts(tooltip_opts=opts.TooltipOpts(trigger="axis"),# 紧贴y轴xaxis_opts=opts.AxisOpts(boundary_gap=False),
​)
)
line_img.render_notebook()

2.3 散点图

from pyecharts.charts import Scatter
from pyecharts.faker import Faker
​
sca_img = (Scatter().add_xaxis(Faker.choose()).add_yaxis("商家A", Faker.values()).add_yaxis("商家B", Faker.values()).add_yaxis("商家C", Faker.values()).add_yaxis("商家D", Faker.values()).set_global_opts(#设置主标题title_opts=opts.TitleOpts(title="Scatter-VisualMap(Color)"),visualmap_opts=opts.VisualMapOpts(max_=150),
#显不显示网格线:(x轴和y轴的)xaxis_opts=opts.AxisOpts(splitline_opts=opts.SplitLineOpts(is_show=True)),yaxis_opts=opts.AxisOpts(splitline_opts=opts.SplitLineOpts(is_show=True)),)
)
sca_img.render_notebook()

2.4 双轴图

import pyecharts.options as opts
from pyecharts.charts import Bar, Line
​
​
x_data = ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"]
​
bar = (Bar().add_xaxis(xaxis_data=x_data).add_yaxis(series_name="蒸发量",y_axis=[2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3],label_opts=opts.LabelOpts(is_show=False), # 不在展示坐标轴的数字).add_yaxis(series_name="降水量",y_axis=[2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3],label_opts=opts.LabelOpts(is_show=False), # 不在展示坐标轴的数字).extend_axis(yaxis=opts.AxisOpts(name="温度",type_="value", # 连续数值min_=0,max_=25,interval=5,  # 间隔为5axislabel_opts=opts.LabelOpts(formatter="{value} °C"),)).set_global_opts(tooltip_opts=opts.TooltipOpts(# 提示线展示, 触发类型;轴触发 ,格式化x轴标签is_show=True, trigger="axis",axis_pointer_type="cross"),xaxis_opts=opts.AxisOpts(# 坐标轴指示配置项,展示x轴阴影axispointer_opts=opts.AxisPointerOpts(is_show=True, type_="shadow"),),yaxis_opts=opts.AxisOpts(name="水量",type_="value",min_=0,max_=250,interval=50,axislabel_opts=opts.LabelOpts(formatter="{value} ml"),# 坐标轴刻度配置项axistick_opts=opts.AxisTickOpts(is_show=True),# x轴的网格线splitline_opts=opts.SplitLineOpts(is_show=True),),)
)
​
line = (Line().add_xaxis(xaxis_data=x_data).add_yaxis(series_name="平均温度",yaxis_index=1,y_axis=[2.0, 2.2, 3.3, 4.5, 6.3, 10.2, 20.3, 23.4, 23.0, 16.5, 12.0, 6.2],label_opts=opts.LabelOpts(is_show=False),)
)
​
bar.overlap(line).render_notebook()

2.5 饼图

基本饼图

from pyecharts.charts import Pie
​
data_pie = list(zip(Faker.choose(),Faker.values()))
pie_img = (Pie().add("",[list(x) for x in data_pie]).set_colors(["red","yellow","orange","pink","green","blue","black"]).set_global_opts(title_opts=opts.TitleOpts(title="饮料价格"),legend_opts=opts.LegendOpts(type_="scroll",pos_right="10px",orient="vertaical")).set_series_opts(label_opts=opts.LabelOpts(formatter="{b}:{c}"))
)
​
pie_img.render_notebook()

空心饼图

from pyecharts.charts import PictorialBar
from pyecharts.globals import SymbolType
​
pie_img = (Pie().add("",[list(z) for z in zip(Faker.choose(), Faker.values())],radius=["40%", "75%"],).set_global_opts(title_opts=opts.TitleOpts(title="空心图s"),legend_opts=opts.LegendOpts(orient="vertical", pos_top="15%", pos_left="2%"),).set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}")))
pie_img.render_notebook()

玫瑰图

key_pie = Faker.choose()
pie_img = (Pie().add("",[list(x) for x in zip(key_pie,Faker.values())],radius=["30%","75%"],# 半径大小center=["25%","50%"], # 位置rosetype="radius").add("",[list(x) for x in zip(key_pie,Faker.values())],radius=["30%","75%"],# 半径大小center=["80%","50%"], # 位置rosetype="radius")
)
pie_img.render_notebook()

图例调整

pie_image = (Pie().add("",[list(z)for z in zip(Faker.choose() + Faker.choose() + Faker.choose(),Faker.values() + Faker.values() + Faker.values(),)],center=["40%", "50%"],).set_global_opts(title_opts=opts.TitleOpts(title="Pie-Legend 滚动"),# 滚动类型,垂直展示legend_opts=opts.LegendOpts(type_="scroll", pos_left="80%", orient="vertical"),).set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
)
pie_image.render_notebook()

文字调整

pie_image = (Pie().add(series_name="商品信息",data_pair=[list(z) for z in zip(Faker.choose(), Faker.values())],radius=["50%", "70%"],label_opts=opts.LabelOpts(is_show=False, position="center"),).set_global_opts(legend_opts=opts.LegendOpts(pos_left="legft", orient="vertical")).set_series_opts(tooltip_opts=opts.TooltipOpts(trigger="item", formatter="{a} <br/>{b}: {c} ({d}%)"),# label_opts=opts.LabelOpts(formatter="{b}: {c}"))
​
)
pie_image.render_notebook()

2.6 雷达图

from pyecharts.charts import Radar
​
num1 = [[8000,10000,7500,6800,13000,15000]]
num2 = [[7000,8000,9500,8800,11000,12500]]
​
radar_img = (Radar().add_schema(schema=[opts.RadarIndicatorItem(name="demo1",max_=9000),opts.RadarIndicatorItem(name="demo2",max_=11000),opts.RadarIndicatorItem(name="demo3",max_=10000),opts.RadarIndicatorItem(name="demo4",max_=9000),opts.RadarIndicatorItem(name="demo5",max_=14000),opts.RadarIndicatorItem(name="demo6",max_=16000),]).add("数据1",num1,color="green").add("数据2",num2,color="orange")
)
radar_img.render_notebook()

单例模式

----一次只能选一个按钮显示数据.

from pyecharts.charts import Radar
​
v1 = [[4300, 10000, 28000, 35000, 50000, 19000]]
v2 = [[5000, 14000, 28000, 31000, 42000, 21000]]
radar_img = (Radar().add_schema(schema=[opts.RadarIndicatorItem(name="销售", max_=6500),opts.RadarIndicatorItem(name="管理", max_=16000),opts.RadarIndicatorItem(name="信息技术", max_=30000),opts.RadarIndicatorItem(name="客服", max_=38000),opts.RadarIndicatorItem(name="研发", max_=52000),opts.RadarIndicatorItem(name="市场", max_=25000),]).add("预算分配", v1.color='blue').add("实际开销", v2).set_series_opts(label_opts=opts.LabelOpts(is_show=False)).set_global_opts(# 单例模式legend_opts=opts.LegendOpts(selected_mode="single"),title_opts=opts.TitleOpts(title="单例模式"),))
radar_img.render_notebook()

2.7 时间轴

from pyecharts import options as opts
from pyecharts.charts import Pie, Timeline
from pyecharts.faker import Faker
​
attr = Faker.choose()
tl = Timeline()
for i in range(2015, 2020):pie = (Pie().add("商家A",[list(z) for z in zip(attr, Faker.values())],
#             rosetype="radius",radius=["30%", "55%"],).set_global_opts(title_opts=opts.TitleOpts("某商店{}年营业额".format(i))))tl.add(pie, "{}年".format(i))
tl.render_notebook()
#上面为空心饼图--
from pyecharts import options as opts
from pyecharts.charts import Bar, Timeline
from pyecharts.faker import Faker
​
x = Faker.choose()
tl = Timeline()
for i in range(2015, 2020):bar = (Bar().add_xaxis(x).add_yaxis("商家A", Faker.values()).add_yaxis("商家B", Faker.values()).set_global_opts(title_opts=opts.TitleOpts("某商店{}年营业额".format(i))))tl.add(bar, "{}年".format(i))
tl.render_notebook()


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/586220.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器学习实战18-机器学习中XGBClassifier分类器模型的应用实战,以及XGBClassifier分类器的调优策略

大家好&#xff0c;我是微学AI&#xff0c;今天给大家介绍一下机器学习实战18-机器学习中XGBClassifier分类器模型的应用实战&#xff0c;以及XGBClassifier分类器的调优策略。XGBClassifier是基于eXtreme Gradient Boosting (XGBoost)算法的分类器模型&#xff0c;在机器学习领…

热榜!基于jsp+mysql的JSP在线水果销售商城系统设计实现【建议收藏】

热榜&#xff01;基于jspmysql的JSP在线水果销售商城系统设计实现【建议收藏】 博主介绍&#xff1a;多年java开发经验&#xff0c;专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 央顺技术团队 Java毕设项目精品实战案例《500套》 欢迎…

人工智能+的广泛应用,已渗透到生活的方方面面

引言 随着科技的不断进步和人工智能技术的快速发展&#xff0c;我们正处于一个人工智能时代。人工智能不仅仅是一种技术&#xff0c;更是一种革命性的变革力量&#xff0c;它正在以前所未有的方式改变着我们的生活和工作方式。 人工智能&#xff08;AI&#xff09;指的是人工…

Go 源码之互斥锁 Mutex

文章目录 一、总结二、源码&#xff08;一&#xff09;Mutex&#xff08;二&#xff09; Lock&#xff08;三&#xff09;Unlock 三、常见问题有劳各位看官 点赞、关注➕收藏 &#xff0c;你们的支持是我最大的动力&#xff01;&#xff01;&#xff01;接下来会不断更新 golan…

代码+视频,手动绘制logistic回归预测模型校准曲线(Calibration curve)(1)

校准曲线图表示的是预测值和实际值的差距&#xff0c;作为预测模型的重要部分&#xff0c;目前很多函数能绘制校准曲线。 一般分为两种&#xff0c;一种是通过Hosmer-Lemeshow检验&#xff0c;把P值分为10等分&#xff0c;求出每等分的预测值和实际值的差距. 另外一种是calibra…

Oracle EBS AR接口和OM销售订单单价为空数据修复

最近,用户使用客制化Web ADI 批量导入销售订单行功能,把销售订单行的单价更新成空值,直到发运确认以后,财务与客户对帐才发现大量销售订单的单价空,同时我们检查AR接口发现销售订单的单价和金额均为空。 前提条件 采用PAC成本方式具体问题症状 销售订单行的单价为空 Path:…

C++引用与指针比较

引子&#xff1a; 问题&#xff1a; 指针指向变量必须类型一致&#xff08;int对int*类型指针&#xff09;&#xff0c;这样计算&#xff0c;解引用才能得到正确的结果&#xff0c;那引用也是如此吗&#xff1f; 回答&#xff1a;&#xff08;常引用&#xff09; 从语法来说…

【C】leetcode力扣—— 141. 环形链表Ⅰ

目录 141. 环形链表 Ⅰ题目解题思路分析暴力求解&#xff1f;&#xff1f;快慢指针 代码 141. 环形链表 Ⅰ 题目链接: https://leetcode.cn/problems/linked-list-cycle/description/ 题目 题目 给你一个链表的头节点 head &#xff0c;判断链表中是否有环。 如果链表中有某…

【基于HTML5的网页设计及应用】——二级级联菜单

&#x1f383;个人专栏&#xff1a; &#x1f42c; 算法设计与分析&#xff1a;算法设计与分析_IT闫的博客-CSDN博客 &#x1f433;Java基础&#xff1a;Java基础_IT闫的博客-CSDN博客 &#x1f40b;c语言&#xff1a;c语言_IT闫的博客-CSDN博客 &#x1f41f;MySQL&#xff1a…

两分钟1200帧的长视频生成器StreamingT2V来了,代码将开源

两分钟1200帧的长视频生成器StreamingT2V来了&#xff0c;代码将开源 广阔的战场&#xff0c;风暴兵在奔跑…… prompt&#xff1a;Wide shot of battlefield, stormtroopers running… 这段长达 1200 帧的 2 分钟视频来自一个文生视频&#xff08;text-to-video&#xff09…

25.死锁

一个线程如果需要同时获取多把锁&#xff0c;就容易产生死锁。 t1线程获得A对象锁&#xff0c;接下来想获取B对象的锁。 t2线程获得B对象锁&#xff0c;接下来想获取A对象的锁。 /*** 死锁demo* param args*/public static void main(String[] args) {Object a new Object(…

Go的数据结构与实现【LRU Cache】

介绍 在本文中&#xff0c;我们将用Go实现LRU Cache。 LRU Cache 最近最少使用&#xff08;LRU&#xff09;是一种缓存逐出算法&#xff0c;它按使用顺序组织元素。在LRU中&#xff0c;最长时间没有被使用的元素会被从缓存中逐出。 例如&#xff0c;如果我们有一个容量为三…