-
2020-11-29 03:20:11
//基于准备好的dom,初始化echarts实例
var pieEchart = echarts.init(document.getElementById('pieEchart'));//指定图表的配置项和数据
var pieoption ={
title : {
text:'公里总里程',
x:'left',
textStyle:{
color:'#FFFFFF',
fontSize:25}
},
tooltip : {
trigger:'item',
formatter:"{a}
{b} : {c} KM"},legend: {
orient :'vertical',
x :'left',
top:40,
itemWidth:70,
itemHeight:30,
formatter:'{name}',
textStyle:{
color:'#FFFFFF'},
data:[{name:'高速50KM',icon:'rect'},{name:'一级150KM',icon:'rect'},{name:'二级150KM',icon:'rect'},{name:'三级100KM',icon:'rect'},{name:'四级50KM',icon:'rect'}] }
,
calculable :true,
series : [
{
name:'公里总里程',
type:'pie',
radius :'70%',//饼图的半径大小
center: ['60%', '60%'],//饼图的位置
label:{ //饼图图形上的文本标签
normal:{
show:true,
position:'inner', //标签的位置
textStyle : {
fontWeight :300,
fontSize :16 //文字的字体大小
},
formatter:'{d}%'}
},
data:[
{value:50,name:'高速50KM',itemStyle:{normal:{color:'#FE0000'}}},
{value:150,name:'一级150KM',itemStyle:{normal:{color:'#F29700'}}},
{value:150,name:'二级150KM',itemStyle:{normal:{color:'#02B0ED'}}},
{value:100,name:'三级100KM',itemStyle:{normal:{color:'#55E87D'}}},
{value:50,name:'四级50KM',itemStyle:{normal:{color:'#FFE200'}}},
]
}
]
};//使用刚指定的配置项和数据显示图表。
pieEchart.setOption(pieoption);
更多相关内容 -
pyecharts 实现显示数据为百分比的柱状图
2020-03-27 16:42:10pyecharts 实现显示数据为百分比的柱状图 效果见 https://blog.csdn.net/seakingx/article/details/105135110 增加了 tooltips 的显示修改. -
chart.js 饼图显示百分比_干货收藏 | 用matplotlib和Pyecharts花式绘制饼图
2020-11-20 01:53:58一、利用matplotlib绘制饼图1、导入模块:import matplotlib.pyplot as pltimport pandas as pdimport matplotlib2、设置数据:data = pd.Series([95,261,105,30,9],index =["五星","四星","三星","二星","一星"])...一、利用matplotlib绘制饼图
1、导入模块:
import matplotlib.pyplot as pltimport pandas as pdimport matplotlib
2、设置数据:
data = pd.Series([95,261,105,30,9],index =["五星","四星","三星","二星","一星"])data
输出结果:
3、饼图主代码:
# 设置图片大小和分辨率fig=plt.figure(figsize=(5,5), dpi=100)# 设置饼图标签labels = data.index# 设置饼图颜色colors = ['#9ACD32','#EEAD0E','#EE7942','#483D8B','#EEB422']# 偏移位置or偏离圆心的距离(这里使“四星”数据偏移)explode = (0, 0.1, 0, 0, 0) # 绘制饼图:autopct显示百分比,这里保留一位小数;shadow控制是否显示阴影data.plot(kind="pie", explode=explode, labels=labels, autopct='%0.1f%%', colors=colors, shadow=True)# 解决中文字体乱码的问题matplotlib.rcParams['font.sans-serif']=['simsun'] #使饼图长宽相等,确保饼图被画成圆形。plt.axis('equal') # 保存图片plt.savefig("./饼图.jpg")
输出结果:
4、嵌套饼图主代码:
fig=plt.figure(figsize=(5,5),dpi=100)#数据集,x1, x2分别对应内部、外部百分比例x1=[7,22,14,5,14,6,32]x2=[43,25,32]#设置饼状图各个区块的颜色inner_color=['#ffce2b','#00c5d2', '#ff812c']outer_color=['#9ACD32','#836FFF','#1E90FF']labels = ['标签1','标签2','标签3']# 绘制内部饼图:autopct控制显示百分比,radius控制半径,pctdistance控制数据标签到圆心位置的距离plt.pie(x1, autopct='%0.1f%%', radius=0.7, pctdistance=0.7,colors=inner_color,wedgeprops=dict(linewidth=3,width=0.4,edgecolor='w'))# 绘制外部饼图:wedgeprops以字典形式传参,linewidth控制间隔线条的宽度,width控制饼图宽度(不超过半径),edgecolor控制间隔线条的颜色(此处为白色)plt.pie(x2, autopct='%0.1f%%', radius=1, pctdistance=0.8, colors=outer_color, wedgeprops=dict(linewidth=3,width=0.4,edgecolor='w'), labels=labels)# 图例文字legend_text=['子标签1','子标签2','子标签3']# 设置图例标题、位置,frameon控制是否显示图例边框,bbox_to_anchor控制图例显示在饼图的外面plt.legend(legend_text,, loc='upper right', frameon=False, bbox_to_anchor=(0.75, 0, 0.4, 1)) #使饼图长宽相等,确保饼图被画成圆形。plt.axis('equal') # 保存图片plt.savefig("./嵌套饼图.png")
输出结果:
二、利用Pyecharts绘制饼图
1、简洁版:
# 导入相应模块from pyecharts import options as optsfrom pyecharts.charts import Piefrom snapshot_selenium import snapshot as driverfrom pyecharts.render import make_snapshot# 设置数据num = [95, 261, 105, 30, 9]rank = ["五星", "四星", "三星", "二星", "一星"]# 绘制饼图pie = Pie(init_opts=opts.InitOpts())# 添加数据pie.add("", [list(z) for z in zip(rank, num)])# 设置颜色pie.set_colors(['#9ACD32', '#EEAD0E', '#EE7942', '#483D8B', '#EEB422'])# 设置标题及标题位置pie.set_global_opts(title_opts=opts.TitleOpts(, pos_left="10%", pos_right="90%"))# 控制图例显示为垂直格式,也可在set_global_opts里面添加:legend_opts=opts.LegendOpts(type_="scroll", pos_left="80%", orient="vertical"# 设置标签显示格式pie.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
输出结果:
2、进化版:
import pyecharts.options as optsfrom pyecharts.charts import Pie# 设置内层数据inner_x_data = ["标签1", "标签2", "标签3"]inner_y_data = [335, 679, 1548]inner_data_pair = [list(z) for z in zip(inner_x_data, inner_y_data)]# 设置外层数据outer_x_data = ["子标签1", "子标签2", "子标签3", "子标签4", "子标签5", "子标签6", "子标签7", "子标签8"]outer_y_data = [335, 310, 234, 135, 1048, 251, 147, 102]outer_data_pair = [list(z) for z in zip(outer_x_data, outer_y_data)]# 绘制饼图pie = Pie(init_opts=opts.InitOpts(, ))# 设置颜色pie.set_colors(['#FF00FF','#EEAD0E','#EE7942','#483D8B','#EEB422','#C0FF3E','#FFC1C1','#FF6A6A','#98FB98','#87CEFA','#8470FF'])pie.add(series_name="内层饼图", # 添加内层数据 data_pair=inner_data_pair, # 内层饼图半径 radius=[0, "30%"], # 控制标签显示在饼图内部 label_opts=opts.LabelOpts(position="inner")) pie.add(series_name="外层饼图", # 外层饼图半径 radius=["40%", "55%"], # 添加外层数据 data_pair=outer_data_pair, label_opts=opts.LabelOpts( # 控制标签显示在饼图外部 position="outside", # 设置标签显示格式 formatter="{a|{a}}{abg|}{hr|} {b|{b}: }{c} {per|{d}%} ", # 设置背景颜色,此处为白色 background_color="#FFFFFF", # 设置边框颜色,此处为蓝色 border_color="#0000FF", # 设置边框宽度 border_width=1, border_radius=4, rich={ # 控制series_name文字的颜色(此处为红色)、行间距、对其方式 "a": {"color": "#FF0000", "lineHeight": 22, "align": "center"}, # 控制series_name文字部分的填充色(此处为黄色)、宽度、对其方式、填充高度、绘图边角的弧度(这里左上角和右上角的弧度为4) "abg": { "backgroundColor": "#FFFF00", "width": "100%", "align": "right", "height": 22, "borderRadius": [4, 4, 0, 0], }, # 控制边框分割线的颜色(此处为红色)、绘制范围、边框宽度、边框高度 "hr": { "borderColor": "#ff1a00", "width": "100%", "borderWidth": 0.5, "height": 0, }, # 控制子标签文字的大小和行间距 "b": {"fontSize": 16, "lineHeight": 33}, # 控制百分比的颜色(此处为绿色)、背景填充色(此处为深蓝色)、填充范围、边角弧度 "per": { "color": "#00FF00", "backgroundColor": "#191970", "padding": [2, 4], "borderRadius": 2, }, }, ), )# 设置标签显示在左侧,且垂直分布 pie.set_global_opts(legend_opts=opts.LegendOpts(pos_left="20%", orient="vertical"))# 设置标签显示格式pie.set_series_opts(tooltip_opts=opts.TooltipOpts(trigger="item", formatter="{a}
{b}: {c} ({d}%)")) # 保存图片make_snapshot(driver, pie.render(),"Pyecharts嵌套饼图.png")# 或者保存为HTML格式pie.render("Pyecharts嵌套饼图.html")输出结果:
希望大家可以通过点赞加转发的方式表达对本文的支持!后续会有更多精美干货送上!
感谢大家!!!
-
pyecharts 饼图
2021-04-02 13:05:14from pyecharts import options as opts from pyecharts.charts import Pie from pyecharts.faker import Faker#伪数据 pie = Pie() pie.add("这个系列的名称",[list(z) for z in zip(Faker.choose(), Faker.values...from pyecharts import options as opts from pyecharts.charts import Pie from pyecharts.faker import Faker#伪数据 pie = Pie() pie.add("这个系列的名称",[list(z) for z in zip(Faker.choose(), Faker.values())], radius=["40%", "75%"],) pie.set_global_opts(title_opts=opts.TitleOpts(title="Pie-Radius"), legend_opts=opts.LegendOpts(orient="horizontal", pos_top="3%", pos_left="27%")) pie.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {d}%"))#显示百分比 pie.render("pie_radius.html")
opts.LabelOpts(formatter’)
# 标签内容格式器,支持字符串模板和回调函数两种形式,字符串模板与回调函数返回的字符串均支持用 \n 换行。 # 模板变量有 {a}, {b},{c},{d},{e},分别表示系列名,数据名,数据值等。 # 在 trigger 为 'axis' 的时候,会有多个系列的数据,此时可以通过 {a0}, {a1}, {a2} 这种后面加索引的方式表示系列的索引。 # 不同图表类型下的 {a},{b},{c},{d} 含义不一样。 其中变量{a}, {b}, {c}, {d}在不同图表类型下代表数据含义为: # 折线(区域)图、柱状(条形)图、K线图 : {a}(系列名称),{b}(类目值),{c}(数值), {d}(无) # 散点图(气泡)图 : {a}(系列名称),{b}(数据名称),{c}(数值数组), {d}(无) # 地图 : {a}(系列名称),{b}(区域名称),{c}(合并数值), {d}(无) # 饼图、仪表盘、漏斗图: {a}(系列名称),{b}(数据项名称),{c}(数值), {d}(百分比) # 示例:formatter: '{b}: {@score}' # # 回调函数,回调函数格式: # (params: Object|Array) => string # 参数 params 是 formatter 需要的单个数据集。格式如下: # { # componentType: 'series', # // 系列类型 # seriesType: string, # // 系列在传入的 option.series 中的 index # seriesIndex: number, # // 系列名称 # seriesName: string, # // 数据名,类目名 # name: string, # // 数据在传入的 data 数组中的 index # dataIndex: number, # // 传入的原始数据项 # data: Object, # // 传入的数据值 # value: number|Array, # // 数据图形的颜色 # color: string, # } formatter: Optional[str] = None,
from pyecharts import options as opts from pyecharts.charts import Bar x=range(1,8) y=[114, 55, 27, 101, 125, 27, 105] bar = Bar() bar.add_xaxis(list(x)) bar.add_yaxis("name", y) bar.set_global_opts(xaxis_opts=opts.AxisOpts(max_=10,axisline_opts=opts.AxisLineOpts(is_show=False)))#max_配置x轴刻度 bar.render("bar2.html")
-
pyecharts饼图pie制作
2021-11-17 10:24:56from pyecharts.charts import Pie from pyecharts import options 从excel中读取数据: df5 = pd.read_excel("abc.xlsx") 接下来将读取的数据存入符合的变量中 def pleattr_graph(): list_pie = [] for i...首先需要引用相关的包
from pyecharts.charts import Pie from pyecharts import options
从excel中读取数据:
df5 = pd.read_excel("abc.xlsx")
接下来将读取的数据存入符合的变量中
def pleattr_graph(): list_pie = [] for i in range(0,len(df5)): columns = df5['名称'].values[i] one = df5['金牌'].values[i] tuple = (columns,int(one)) list_pie.append(tuple) pie = Pie() pie.add( #设置名称 series_name='金牌详细数量', #数据 data_pair=list_pie, center=["40%","60%"], radius=['30%', '70%'], # 百分比根据实际情况进行修改(空心和实心) # rosetype = 'radius' # 设置饼是不规则的,如果想要规则的话,也可以不写 ) pie.set_global_opts( title_opts=options.TitleOpts(title='金牌详细数量',padding=10,), legend_opts=options.LegendOpts( orient="vertical", #图形文字竖排展示 pos_top="10%", #图形文字距离顶部的间距 pos_left="75%" # 图形文字距离左边的间距 ) ) pie.set_series_opts( label_opts=options.LabelOpts(formatter='{b}:{d}%') #设置图形上面文字标签展示 ) pie.render('pie.html') pleattr_graph()
运行结果如下:
附录:
饼图的更多配置项
# 系列名称,用于 tooltip 的显示,legend 的图例筛选。 series_name: str, # 系列数据项,格式为 [(key1, value1), (key2, value2)] data_pair: Sequence, # 系列 label 颜色 color: Optional[str] = None, # 饼图的半径,数组的第一项是内半径,第二项是外半径 # 默认设置成百分比,相对于容器高宽中较小的一项的一半 radius: Optional[Sequence] = None, # 饼图的中心(圆心)坐标,数组的第一项是横坐标,第二项是纵坐标 # 默认设置成百分比,设置成百分比时第一项是相对于容器宽度,第二项是相对于容器高度 center: Optional[Sequence] = None, # 是否展示成南丁格尔图,通过半径区分数据大小,有'radius'和'area'两种模式。 # radius:扇区圆心角展现数据的百分比,半径展现数据的大小 # area:所有扇区圆心角相同,仅通过半径展现数据大小 rosetype: Optional[str] = None, # 饼图的扇区是否是顺时针排布。 is_clockwise: bool = True, # 标签配置项,参考 `series_options.LabelOpts` label_opts: Union[opts.LabelOpts, dict] = opts.LabelOpts(), # 提示框组件配置项,参考 `series_options.TooltipOpts` tooltip_opts: Union[opts.TooltipOpts, dict, None] = None, # 图元样式配置项,参考 `series_options.ItemStyleOpts` itemstyle_opts: Union[opts.ItemStyleOpts, dict, None] = None,
-
【Pyecharts50例】自定义饼图标签/显示百分比
2021-03-13 14:35:46但在Pyecharts中的默认数据还是显示的数量,所以如果想让饼图直接显示数据占比的话,需要进行如下配置: label_opts=opts.LabelOpts(formatter='{b}:{d}%') 注意:在饼图,漏斗图,仪表盘中支持使用{d}来显示数据... -
python pyecharts pie饼图反应比例关系
2019-01-09 17:21:40from pyecharts import Pie,Bar,Gauge,EffectScatter,WordCloud import random attr=["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子",] v1=[11,... -
惊叹,Pyecharts绘制饼图原来可以如此漂亮!
2020-12-13 10:00:00来源:Python数据之道作者:Peter整理:Lemon利用Pyecharts玩转饼图饼图在实际的可视化要求中是非常常见的,它能够很好显示个体的占比或者数据情况。本文中讲解的是如何利用... -
pyecharts标签绘制为百分比
2022-03-08 14:36:56在pyecharts绘图时,有的时候会需要显示为百分比的效果。 如多条柱状图叠加显示占比,你可以在展示图中设置 .set_series_opts( label_opts=opts.LabelOpts(formatter=JsCode("function(x){return Number(x.data.... -
python中pyecharts绘制饼图
2019-02-12 16:30:09pyecharts包绘制饼图需要调用Pie from pyecharts import Pie Pie.add()方法签名: add(name, attr, value, radius=None, center=None, rosetype=None, **kwargs) name -> str 图例名称 attr -> ... -
pyecharts画饼形图,圆形图,环形图(含百分比显示)【python干货】
2020-11-09 11:34:10很多做数据分析可视化的朋友总会遇到一些烦恼,用pyecharts绘制饼形图(圆形图)的时候,总会报错。 废话不多说,下面跟着小编上车吧,教你用pyecharts绘制饼形图(圆形图),环形图从小白到精通! 1.饼形图(圆形图... -
pyecharts数据可视化(python柱状图饼图)
2022-04-30 23:17:51from pyecharts.charts import Bar bar = Bar() bar.add_xaxis(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]) bar.add_yaxis("商家A", [5, 20, 36, 10, 75, 90]) bar.render()# render -
【Pyecharts50例】折线图显示百分比/百分比显示/formatter回调函数
2021-03-05 23:04:43对于饼图、仪表盘、漏斗图可以通过如下代码实现百分比显示: label_opts=opts.LabelOpts(is_show=True, formatter='{d}') 但对于包括折线图在内的其他图表,Pyecharts并不支持直接换算的百分比展示,我这边提供两种... -
【Pyecharts50例】修改饼图尺寸/环形饼图
2021-03-13 14:02:24如上图所示,Pyecharts中饼图可以支持配置饼图的内半径和外半径,通过参数radius进行配置,如radius=["40%", "75%"]表示为内半径缩小为默认半径的40%,外半径缩小为默认半径的75%。 完整示例 完整代码 #!/usr/bin/... -
用python实现PyEcharts中的饼图
2021-03-13 15:33:53用python实现PyEcharts中的折线图 笔记仅是个人的学习笔记总结,如有雷同请见谅 1. Pie class pyecharts.charts.Pie class Pie( # 初始化配置项,参考 `global_options.... # 系列名称,用于 tooltip 的显示,lege. -
绘制一个饼图,显示我们在Python中的日常活动
2021-03-07 01:41:25饼图以百分比表示数量,并且饼图所有段的总和必须等于100%。它用于以百分比显示给定的数据。用户将向我们提供一个日常活动列表,以及另一个列表,该列表显示了每天执行每个活动所花费的时间,通过使用这些列表,... -
2 基于pyecharts的python数据可视化——饼图绘制
2021-06-02 13:30:18饼图常用于表现不同类别的占比情况。使用Pie方法可以绘制饼图。 -
Pyecharts之饼图(Pie)
2020-04-03 22:03:19Pyecharts之饼图(Pie) from snapshot_selenium import snapshot as driver from pyecharts import options as opts from pyecharts.charts import Pie from pyecharts.render import make_snapshot from pyecharts... -
echarts饼图内部百分比外部显示文字和数值
2021-11-21 21:35:56UI给出了这样一张图,饼图上不仅显示文字和数值,内部也要显示百分比。由于series中的label只能设置成饼图内部或者饼图外部,无法实现内外部兼有。此时可以在series中设置两个相同的配置对象,让两个饼图重合在一起... -
Echarts中饼状图显示百分比
2021-08-25 11:27:22关键代码:label中的部分为显示百分比的关键代码 series : [ { name:'', type : 'pie', radius : '65%', center : [ '50%', '50%' ], //重点代码段 label : { normal : { formatter: '{b}:{c}: ({d}... -
数据可视化技术Pyecharts饼图Pie详细代码注释学习笔记5
2019-11-03 19:15:30饼图用pyecharts有一个功能比matplotlib便捷一点,就是能够自动防止标签叠加,可以在例7了解 首先导入通用模块包 from pyecharts.charts import Page,Pie from pyecharts.commons.utils import JsCode from ... -
[pyecharts学习笔记]——Pie饼图
2020-05-01 12:29:50from pyecharts import options as opts from pyecharts.charts import Pie from pyecharts.faker import Faker from pyecharts.globals import ThemeType c = ( #设置主题 Pie(init_opts=opts.InitOpts(t... -
针对echarts饼图设置显示百分比、内容、字体及大小、位置
2021-05-14 18:27:41针对echarts饼图设置显示百分比、内容、字体及大小关键属性代码 关键属性代码 series: [ { name: '访问来源', type: 'pie', radius: '50%', label: { //饼图图形上的文本标签 normal: { -
pyecharts简单实用,折线图,箱型图,多饼图/玫瑰图,世界图
2022-01-12 09:25:12借一次小项目(小到练手的,嘿嘿),第一次接触到pyecharts,使用感觉嘎嘎舒服,在这里记录一下,一共四张图,折线图,箱型图,饼图/玫瑰图(其实这俩差不多,改个值就行),世界图 一、折线图 先看效果图 这是... -
ECharts 饼图数据放在饼图内部显示
2022-01-18 16:53:09ECharts 饼图数据放在饼图内部显示 -
PyQt5:pyCharts 绘制饼图
2019-04-09 23:09:02为博客附带源码,pyqtcharts绘制饼图,Qt C++示例代码修改。 -
Pyecharts V1全新版本超详细使用教程——Pie(饼图的使用)
2020-03-24 20:40:12Pyecharts V1全新版本超详细使用教程——Pie(饼图的使用) 之前鼓捣了柱状图,现在我来鼓捣饼图啦! 以下内容均来自Pyecharts官方使用文档和自己的理解琢磨。(在柱状图的博文中已经给出官方文档的地址) 首先来看... -
数据可视化pyecharts学习笔记---饼图
2020-06-07 19:10:07基本图表–饼图 from pyecharts.charts import Pie 1、基本示例 from pyecharts import options as opts from pyecharts.charts import Pie from pyecharts.faker import Faker pie = Pie() pie.add("",list(zip...