精华内容
下载资源
问答
  • 解决echarts饼图显示百分比,和显示内容字体及大小
    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 实现显示数据为百分比的柱状图 效果见 https://blog.csdn.net/seakingx/article/details/105135110 增加了 tooltips 的显示修改.
  • 一、利用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

    输出结果:

    62f07b238bbb4b4d90217f65653b331f

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

    输出结果:

    d041dd9528644960b8969501c2ceaeeb

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

    输出结果:

    a1c5eeac05b348ebacd48c39754d96ed

    二、利用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}"))

    输出结果:

    c0f1cbd8-a97a-417f-85fe-5d9db38472ae

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

    输出结果:

    4a5c49f4-e984-48d2-8a5d-45a45493e2d1

    希望大家可以通过点赞转发的方式表达对本文的支持!后续会有更多精美干货送上!

    感谢大家!!!

    d543a96e-461c-460c-a398-0e2cc81c570f
    展开全文
  • pyecharts 饼图

    2021-04-02 13:05:14
    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...
    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:56
    from 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,

    展开全文
  • 但在Pyecharts中的默认数据还是显示的数量,所以如果想让饼图直接显示数据占比的话,需要进行如下配置: label_opts=opts.LabelOpts(formatter='{b}:{d}%') 注意:在饼图,漏斗图,仪表盘中支持使用{d}来显示数据...
  • python pyecharts pie饼图反应比例关系

    千次阅读 2019-01-09 17:21:40
    from pyecharts import Pie,Bar,Gauge,EffectScatter,WordCloud import random attr=["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子",] v1=[11,...
  • 惊叹,Pyecharts绘制饼图原来可以如此漂亮!

    千次阅读 多人点赞 2020-12-13 10:00:00
    来源:Python数据之道作者:Peter整理:Lemon利用Pyecharts玩转饼图饼图在实际的可视化要求中是非常常见的,它能够很好显示个体的占比或者数据情况。本文中讲解的是如何利用...
  • pyecharts绘图时,有的时候会需要显示百分比的效果。 如多条柱状图叠加显示占比,你可以在展示图中设置 .set_series_opts( label_opts=opts.LabelOpts(formatter=JsCode("function(x){return Number(x.data....
  • python中pyecharts绘制饼图

    万次阅读 2019-02-12 16:30:09
    pyecharts包绘制饼图需要调用Pie from pyecharts import Pie Pie.add()方法签名: add(name, attr, value, radius=None, center=None, rosetype=None, **kwargs) name -> str 图例名称 attr -> ...
  • 很多做数据分析可视化的朋友总会遇到一些烦恼,用pyecharts绘制饼形图(圆形图)的时候,总会报错。 废话不多说,下面跟着小编上车吧,教你用pyecharts绘制饼形图(圆形图),环形图从小白到精通! 1.饼形图(圆形图...
  • from pyecharts.charts import Bar bar = Bar() bar.add_xaxis(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]) bar.add_yaxis("商家A", [5, 20, 36, 10, 75, 90]) bar.render()# render
  • 对于饼图、仪表盘、漏斗图可以通过如下代码实现百分比显示: label_opts=opts.LabelOpts(is_show=True, formatter='{d}') 但对于包括折线图在内的其他图表,Pyecharts并不支持直接换算的百分比展示,我这边提供两种...
  • 如上图所示,Pyecharts饼图可以支持配置饼图的内半径和外半径,通过参数radius进行配置,如radius=["40%", "75%"]表示为内半径缩小为默认半径的40%,外半径缩小为默认半径的75%。 完整示例 完整代码 #!/usr/bin/...
  • 用python实现PyEcharts中的折线图 笔记仅是个人的学习笔记总结,如有雷同请见谅 1. Pie class pyecharts.charts.Pie class Pie( # 初始化配置项,参考 `global_options.... # 系列名称,用于 tooltip 的显示,lege.
  • 饼图百分比表示数量,并且饼图所有段的总和必须等于100%。它用于以百分比显示给定的数据。用户将向我们提供一个日常活动列表,以及另一个列表,该列表显示了每天执行每个活动所花费的时间,通过使用这些列表,...
  • 饼图常用于表现不同类别的占比情况。使用Pie方法可以绘制饼图
  • Pyecharts饼图(Pie)

    千次阅读 2020-04-03 22:03:19
    Pyecharts饼图(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...
  • UI给出了这样一张图,饼图上不仅显示文字和数值,内部也要显示百分比。由于series中的label只能设置成饼图内部或者饼图外部,无法实现内外部兼有。此时可以在series中设置两个相同的配置对象,让两个饼图重合在一起...
  • 关键代码:label中的部分为显示百分比的关键代码 series : [ {  name:'',  type : 'pie',  radius : '65%',  center : [ '50%', '50%' ],  //重点代码段  label : {  normal : {  formatter: '{b}:{c}: ({d}...
  • 饼图pyecharts有一个功能比matplotlib便捷一点,就是能够自动防止标签叠加,可以在例7了解 首先导入通用模块包 from pyecharts.charts import Page,Pie from pyecharts.commons.utils import JsCode from ...
  • [pyecharts学习笔记]——Pie饼图

    千次阅读 多人点赞 2020-05-01 12:29:50
    from 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饼图设置显示百分比、内容、字体及大小关键属性代码 关键属性代码 series: [ { name: '访问来源', type: 'pie', radius: '50%', label: { //饼图图形上的文本标签 normal: {
  • 借一次小项目(小到练手的,嘿嘿),第一次接触到pyecharts,使用感觉嘎嘎舒服,在这里记录一下,一共四张图,折线图,箱型图,饼图/玫瑰图(其实这俩差不多,改个值就行),世界图 一、折线图 先看效果图 这是...
  • ECharts 饼图数据放在饼图内部显示

    千次阅读 2022-01-18 16:53:09
    ECharts 饼图数据放在饼图内部显示
  • PyQt5:pyCharts 绘制饼图

    2019-04-09 23:09:02
    为博客附带源码,pyqtcharts绘制饼图,Qt C++示例代码修改。
  • Pyecharts 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...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 559
精华内容 223
关键字:

pyecharts饼图显示百分比