精华内容
下载资源
问答
  • jfreechart怎么从mysql读取数据生成柱状图饼状图并显示到web页面,最好能有个实例。
  • 最近写了一些数据方面的需求,...在显示一个柱状图的时候,x轴的数据是隔一个显示的,但是hover的时候却能显示出当前轴x轴的名称,如下图: 刚开始有点奇怪,看代码是没有任何毛病的,后来就试了官网的例子...

    转载:https://www.jianshu.com/p/c387b769a928

     

    最近写了一些数据方面的需求,所以免不了使用echarts,因为没怎么用过,所以遇到的问题还是比较多,先记录一些简单的问题叭。

    在显示一个柱状图的时候,x轴的数据是隔一个显示的,但是hover的时候却能显示出当前轴x轴的名称,如下图:

     

    刚开始有点奇怪,看代码是没有任何毛病的,后来就试了官网的例子,也就是把最好一个柱子的x轴名称改为周天,则显示就没毛病了:

     

    那就只能说明这个轴的名称太长了,所以导致它默认就隔一个显示,找了半天才发现控制它的属性是axisLabel,

     xAxis : [
            {
                type : 'category',
                data : ["周一", "周二", "周三", "周四", "周五", "周六", "周天"],
                axisTick: {
                    alignWithLabel: true
                },
                axisLabel: {
                    interval:0 
                }
            }
        ],
    

    该属性设置成0则表示强制显示所有标签,设置为1的话,隔一个标签显示一个标签,以此类推。
    但是设置为0的话,如果数据再长点,它会把这个数据直接不显示,还是没有解决问题,后来发现,可以让这个数据倾斜,那么就不会有不显示的问题了,

      axisLabel: {
                    interval:0,
                    rotate:45, //代表逆时针旋转45度
                }
    

    rotate表示倾斜显示,-是顺时针旋转多少度,+或不写表示逆时针旋转多少度,默认值为90,那么显示就如下了:

     

     

     

    展开全文
  • echarts 柱状图 x轴数据某个值为空时就会出现柱状图显示并且占位现象,如上图,那怎么解决呢? 想了两天终于想到了办法,那就是添加多个X轴的数据就可以,在这记录一下,如果哪位有更好的办法,请告知: 效果图: ...

    echarts 柱状图 x轴多维度显示不同数据源

    在这里插入图片描述
    echarts 柱状图 x轴数据某个值为空时就会出现柱状图不显示并且占位现象,如上图,那怎么解决呢?

    想了两天终于想到了办法,那就是添加多个X轴的数据就可以,在这记录一下,如果哪位有更好的办法,请告知:
    效果图:
    在这里插入图片描述
    代码:

    <!DOCTYPE html>
    <html style="height: 100%">
       <head>
           <meta charset="utf-8">
       </head>
       <body style="height: 100%; margin: 0">
           <div id="container" style="height: 100%"></div>
           <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"></script>
           <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts-gl/dist/echarts-gl.min.js"></script>
           <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts-stat/dist/ecStat.min.js"></script>
           <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts/dist/extension/dataTool.min.js"></script>
           <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts/map/js/china.js"></script>
           <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts/map/js/world.js"></script>
           <script type="text/javascript" src="https://api.map.baidu.com/api?v=2.0&ak=xfhhaTThl11qYVrqLZii6w8qE5ggnhrY&__ec_v__=20190126"></script>
           <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts/dist/extension/bmap.min.js"></script>
           <script type="text/javascript">
    var dom = document.getElementById("container");
    var myChart = echarts.init(dom);
    var app = {};
    option = null;
    var posList = [
        'left', 'right', 'top', 'bottom',
        'inside',
        'insideTop', 'insideLeft', 'insideRight', 'insideBottom',
        'insideTopLeft', 'insideTopRight', 'insideBottomLeft', 'insideBottomRight'
    ];
    
    app.configParameters = {
        rotate: {
            min: -90,
            max: 90
        },
        align: {
            options: {
                left: 'left',
                center: 'center',
                right: 'right'
            }
        },
        verticalAlign: {
            options: {
                top: 'top',
                middle: 'middle',
                bottom: 'bottom'
            }
        },
        position: {
            options: echarts.util.reduce(posList, function (map, pos) {
                map[pos] = pos;
                return map;
            }, {})
        },
        distance: {
            min: 0,
            max: 100
        }
    };
    
    app.config = {
        rotate: 90,
        align: 'left',
        verticalAlign: 'middle',
        position: 'insideBottom',
        distance: 15,
        onChange: function () {
            var labelOption = {
                normal: {
                    rotate: app.config.rotate,
                    align: app.config.align,
                    verticalAlign: app.config.verticalAlign,
                    position: app.config.position,
                    distance: app.config.distance
                }
            };
            myChart.setOption({
                series: [{
                    label: labelOption
                }, {
                    label: labelOption
                }, {
                    label: labelOption
                }, {
                    label: labelOption
                }]
            });
        }
    };
    
    
    var labelOption = {
        show: true,
        position: app.config.position,
        distance: app.config.distance,
        align: app.config.align,
        verticalAlign: app.config.verticalAlign,
        rotate: app.config.rotate,
        formatter: '{c}  {name|{a}}',
        fontSize: 16,
        rich: {
            name: {
                textBorderColor: '#fff'
            }
        }
    };
    
    option = {
        color: ['#003366', '#006699', '#4cabce', '#e5323e'],
        tooltip: {
            trigger: 'axis',
            axisPointer: {
                type: 'shadow'
            },
             // 进行数据处理
            formatter: function (params) {
                var html = '';
                if (params.length != 0) {
                    // 可以自己打印一下console.info(params[0]);
                    var getName = params[0].name;
                    html += getName + '<br/>';
                    for (var i = 0; i < params.length; i++) {
                        // 如果为0 为空的数据我们不要了(你们可以直接判断 > 0)
                        if (params[i].value != null && params[i].value != 0
                            && params[i].value != '') {
                            html += params[i].marker;
                            html += params[i].seriesName + ': ' + params[i].value + '<br/>';
                        }
                    }
                }
                return html;
            }
        },
        legend: {
            data: ['Forest', 'Steppe', 'Desert', 'Wetland', 'www']
        },
        toolbox: {
            show: true,
            orient: 'vertical',
            left: 'right',
            top: 'center',
            feature: {
                mark: {show: true},
                dataView: {show: true, readOnly: false},
                magicType: {show: true, type: ['line', 'bar', 'stack', 'tiled']},
                restore: {show: true},
                saveAsImage: {show: true}
            }
        },
        xAxis: [
            {
                type: 'category',
                axisTick: {show: false},
                position: 'bottom',
                data: ['2012', '', '', '', '']
            },
            {
                type: 'category',
                axisTick: {show: false},
                position: 'bottom',
                data: ['', '2013', '', '', '']
            },
            {
                type: 'category',
                axisTick: {show: false},
                position: 'bottom',
                data: ['', '', '2014', '', '']
            },
            {
                type: 'category',
                axisTick: {show: false},
                position: 'bottom',
                data: ['', '', '', '2015', '']
            },
            {
                type: 'category',
                axisTick: {show: false},
                position: 'bottom',
                data: ['', '', '', '', '2016']
            }
        ],
        yAxis: [
            {
                type: 'value'
            }
        ],
        series: [
            {name: 'Forest',type: 'bar',barGap: 0,label: labelOption,xAxisIndex: 0,data: [320]},
            {name: 'Steppe',type: 'bar',label: labelOption,xAxisIndex: 0,data: [220]},
            {name: 'Desert',type: 'bar',label: labelOption,xAxisIndex: 0,data: [332]},
            {name: 'Wetland',type: 'bar',label: labelOption,xAxisIndex: 0,data: [98]},
            {name: 'Forest',type: 'bar',barGap: 0,label: labelOption,xAxisIndex: 1,data: ['',320]},
            {name: 'Steppe',type: 'bar',label: labelOption,xAxisIndex: 1,data: ['',220]},
            {name: 'Desert',type: 'bar',label: labelOption,xAxisIndex: 1,data: ['',232]},
            {name: 'Wetland',type: 'bar',label: labelOption,xAxisIndex: 1,data: ['',98]},
            {name: 'www',type: 'bar',label: labelOption,xAxisIndex: 1,data: ['',345]},
            {name: 'Forest',type: 'bar',barGap: 0,label: labelOption,xAxisIndex: 2,data: ['','',320]},
            {name: 'Steppe',type: 'bar',label: labelOption,xAxisIndex: 2,data: ['','',420]},
            {name: 'Desert',type: 'bar',label: labelOption,xAxisIndex: 2,data: ['','',232]},
            {name: 'Wetland',type: 'bar',label: labelOption,xAxisIndex: 2,data: ['','',98]},
            {name: 'Forest',type: 'bar',barGap: 0,label: labelOption,xAxisIndex: 3,data: ['','','',320]},
            {name: 'Wetland',type: 'bar',label: labelOption,xAxisIndex: 3,data: ['','','',98]},
            {name: 'Forest',type: 'bar',barGap: 0,label: labelOption,xAxisIndex: 4,data: ['','','','',620]},
            {name: 'Steppe',type: 'bar',label: labelOption,xAxisIndex: 4,data: ['','','','',290]},
            {name: 'Wetland',type: 'bar',label: labelOption,xAxisIndex: 4,data: ['','','','',98]}   
        ]
    };
    if (option && typeof option === "object") {
        myChart.setOption(option, true);
    }
           </script>
       </body>
    </html>
    
    展开全文
  • amcharts 柱状图中 在数据差距不大的情况下 正常显示: ![图片说明](https://img-ask.csdn.net/upload/201906/01/1559388541_433414.png) 在数据差距较大的情况下: ![图片说明]...
  • chart中我想在柱状图的上方显示对应的数值 我在label中设置了显示,但是图形上方还是没有数据, ``` itemStyle: { normal: { label: { show: true, //开启显示 position: 'top', //在上方显示 ...
  • 柱状图显示不下

    2020-11-25 11:59:20
    <div><p>如果是柱状图的话,有比较多的数据,导致x轴显示不下,可以平移x轴吗?应该怎么解决</p><p>该提问来源于开源项目:antvis/wx-f2</p></div>
  • 怎么才能实现正常的柱状图显示, 想不明白,为什么横轴为时间时,柱状图显示不正常,了解到你们文档上自动给设置为连续的类型了。 我感觉应该在柱状图时,时间不应该自动给转换成...
  • 我想实现点击X轴范围内的任意一个柱子显示出三个柱子的数据。![图片说明](https://img-ask.csdn.net/upload/202001/10/1578620737_352926.jpg)。现在只能实现显示单根柱子我想显示全部柱子的数据怎么实现?
  • 明明应该是柱状图的,怎么变成了折线图?我用PieRenderer,DonutRenderer等都能正常显示饼状图和圈图。在网上查了很多资料BarRenderer就是柱状图啊。试了很多例子,人家的博客显示都是柱状图,我的偏偏就是比折线图...
  • 用excel作图时候经常会碰到做柱状图和折线图组合,这样的图一般难在折线图的数据很小,是百分比趋势图,所以经常相对前面主数据太小了,在图里看不到,所以需要用次坐标轴来将其显示出来,下面就介绍这种柱状图添加...

    Excel柱状图折线图组合怎么做 Excel百分比趋势图制作教程

    用excel作图时候经常会碰到做柱状图和折线图组合,这样的图一般难在折线图的数据很小,是百分比趋势图,所以经常相对前面主数据太小了,在图里看不到,所以需要用次坐标轴来将其显示出来,下面就介绍这种柱状图添加折线图(百分比趋势图)组合的做法。

    Excel百分比趋势图制作教程

    我们就用这个年份、销售量和增长率表格为例作图。

    首先选中销售量和增长率两列数据

    接着如图所示插入柱状图。

    在出现的图上点击鼠标右键,再点击菜单中的选择数据。

    此时会跳出来选择数据源的界面。点击界面右侧的编辑,这里是编辑横坐标轴的数据。

    跳出轴标签以后,选择年份列的2005到2013,点击确定

    回到选择数据源界面,再点击左侧的编辑,这里是编辑图标签。

    跳出编辑数据系列界面后,选择销售量单元格,确定

    同样的方式,编辑好增长率。

    接着,点击图中所示位置,右键单击。

    在菜单中点击设置数据系列格式。

    勾选次坐标轴,关闭。

    再在红色图(增长率图)上右键单击,出现菜单以后点击更改系列图标类型。

    在跳出的页面选择下图所示的折线图。点击确定

    好了,一个柱状图加折现图的完整的做法就完成了。

    更改标签,主要是将横坐标轴变为年份列,这里可根据自己实际情况确定是否需要修改。

    因为增长率相对于销售量太小了,看不见所以很多时候步骤10的位置很难点到,需要多点几次选中以后再进行后续步骤。

    转载于:https://www.cnblogs.com/amengduo/p/9586941.html

    展开全文
  • 本文使用python中的itchat模块获取微信信息,并用matlab进行数据显示,这两个模块没有的可直接在控制台 pip install ** 进行...下来一 一上代码,做这个主要还是看数据怎么分析,以及运用下图表的显示方式,matla...

    本文使用python中的itchat模块获取微信信息,并用matlab进行数据显示,这两个模块没有的可直接在控制台 pip install ** 进行安装,话不多说,先上效果图

    一、男女比例分析

     

    二、各个地区的男女数量-柱状图

     

    三、各个地区的男女数量-横向柱状图(地区标签比较清晰)

    下来一 一上代码,做这个主要还是看数据怎么分析,以及运用下图表的显示方式,matlab挺强大的,支持一下

    一,饼状图代码

    import itchat, time
    import matplotlib.pyplot as plot
    
    def chatProportion():
        itchat.auto_login(True)
        male = female = other = 0
        rName = "群名称,自己填"
        roomSum = 0
        chatRooms = itchat.search_chatrooms(name=rName)
        if chatRooms is None:
            print("no this:" + rName)
        else:
            chatRoom = itchat.update_chatroom(chatRooms[0]['UserName'], detailedMember=True)
            index = 0
            mem_list = chatRoom['MemberList']
            roomSum = len(mem_list)
            for friend in mem_list:
                dis = friend['DisplayName']
                nick = friend['NickName']
                sex = friend['Sex']
                if sex == 1:
                    male += 1
                elif sex == 2:
                    female += 1
                else:
                    other += 1
                index += 1
                print(index,dis,nick,sex)
        labels = ['男:'+str(male),'女'+str(female),'其他'+str(other)]
        sizes = [male, female, other]
        colors = ['green','red','gray']
        # 几个分量向外偏移
        explode = (0.1,0.1,0)
        plot.pie(sizes,explode,labels,colors,'%2.0f%%')
        plot.axis('equal')
        plot.legend(loc='upper left', bbox_to_anchor=(-0.1, 1))
        plot.rcParams['font.sans-serif'] = ['Microsoft YaHei']
        plot.rcParams['axes.unicode_minus'] = False
        plot.title("群名:"+str(rName)+"[总人数:"+str(roomSum)+"]\n"+str("(男女比例分析-流年master出品)"))
        plot.grid()
        plot.show()
    
    if __name__ == "__main__":
        chatProportion()

     

    二、柱状图代码

    import itchat, time
    import matplotlib.pyplot as plt
    
    def getInfo():
        # 测试数据
        # info = []
        # city_list = ["西安","大理","西安","city","西安","西安","","大理"]
        # sex_list = ["男","女","男"]
        # for city in city_list:
            
        #     for sex in sex_list:
        #         per_info = {
        #             'city':None,
        #             'sex':None
        #         }
        #         if city == "":
        #             city = "其他"
                
        #         per_info['city'] = city
        #         per_info['sex'] = sex
        #         info.append(per_info)
        
        # return info
    
        data_info = []
        itchat.auto_login(True)
        rName = "群名称,自己填"
        chatRooms = itchat.search_chatrooms(name=rName)
        if chatRooms is None:
            print("no this:" + rName)
        else:
            chatRoom = itchat.update_chatroom(chatRooms[0]['UserName'], detailedMember=True)
            mem_list = chatRoom['MemberList']
            for friend in mem_list:
                sex = friend['Sex']
                city = friend['City']
    
                per_info = {
                    'city':None,
                    'sex':None
                }
                if city == "":
                    city = "其他"
                per_info['city'] = city
                per_info['sex'] = sex
                data_info.append(per_info)
        return data_info
    
    def cityData():
        info = getInfo()
        city_list = []
        for ereryOne in info:
            city_list.append(ereryOne['city'])
        
        # 归一去重
        single_list = set(city_list)
        men_arr = []
        women_arr = []
        for single in single_list:
            men_count = 0
            women_count = 0
            for everyOne in info:
                if everyOne['city'] == single:
                    if everyOne['sex'] == 1 or everyOne['sex'] == "男":
                        men_count += 1
                    else:
                        women_count += 1
            men_arr.append(men_count)
            women_arr.append(women_count)
        
        wid = 0.4
        ax = plt.subplot()
        x_dir = list(range(len(single_list)))
        # 第二个柱状图偏移一点
        x_dir2 = [x_dir[i] + wid for i in range(len(x_dir))]
        tick_loc = [ i + wid/2 for i in range(len(single_list))]
    
        # 1 竖向柱状图
        # label1 = plt.bar(x_dir, men_arr, width=wid, fc='gray')
        # for rect in label1:
        #     height = rect.get_height()
        #     # .-0.1 : 反向移动0.1
        #     plt.text(rect.get_x()+rect.get_width()/2.-0.1, 1.03*height, "%s" % float(height))
    
        # label2 = plt.bar(x_dir2, women_arr, width=wid, fc='r')
        # for rect in label2:
        #     height = rect.get_height()
        #     plt.text(rect.get_x()+rect.get_width()/2.-0.1, 1.03*height, "%s" % float(height))
    
        # # 横向标签位置
        # ax.set_xticks(tick_loc)
        # # 横向标签名称
        # ax.set_xticklabels(single_list)
        # plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
        # plt.title("男女地区竖向柱状图")
        # plt.show()
    
        # 2 横向柱状图
        label1 = ax.barh(x_dir, men_arr, height=wid, fc='gray')
        for rect in label1:
            w = rect.get_width()
            ax.text(w, rect.get_y()+rect.get_height()/2, '%d'%int(w), ha='left',va='center')
        
        label2 = ax.barh(x_dir2, women_arr, height=wid, fc='r')
        for rect in label2:
            w = rect.get_width()
            ax.text(w, rect.get_y()+rect.get_height()/2, '%d'%int(w), ha='left',va='center')
    
        # 纵向标签位置
        ax.set_yticks(tick_loc)
        # 纵向标签名称
        ax.set_yticklabels(single_list)
        plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
        plt.title("男女地区横向柱状图")
        plt.show()
    
    if __name__ == "__main__":
        cityData()

     

    展开全文
  • require([ 'echarts', 'echarts/chart/bar' ,'echarts/chart/line'// 使用柱状图就加载bar模块,按需加载 ], drewEcharts ); function drewEcharts(ec) { // 基于准备好的dom,初始化echarts图表 ...
  • Origin2018怎么画出向上向下的柱状图

    千次阅读 2020-06-08 15:28:33
    使用origin怎么画出,如果数值大于1的柱状向上,小于1的柱状向下的类似如下所示的图形呢? 步骤如下: (1)准备数据:如所示的分类数据数据为瞎编的),自己做的时候看自己的数据来啊。 (2)file——》...
  • 把后台Jason格式显示到前台时,用图标进行表示,做监控用,怎么才合适呢?谢谢
  • <p style="text-align:center"><img alt="" src="https://img-ask.csdnimg.cn/upload/1622728086202.png" /></p>     请问这个图怎么柱状图上面是显示数值?</p>
  • 比如上显示的第一个数据,昨天的值大概96,今天的值60,怎么把今天的棒图落下来,从0点开始,相当于基准点都是从0点开始</p><p>该提问来源于开源项目:AAChartModel/...
  • <div><p>分组的数据格式是这样的: var data = [{ name: 'London', time: '...显示分组柱状图和折线图叠加的!!!</p><p>该提问来源于开源项目:antvis/wx-f2</p></div>
  • 我是在前端引进来一个arcgis服务,我打算做一个地图各个区域的数据的对比,所以在每个区域都要出现一个柱状图,一开始我想自定义inforwindows做一个效果放进去,可以inforindows只能同时显示一个,而且,也不会直接...
  • 数据展示,很多朋友都会用到免费的echarts,echarts官网也有很详细、很nice的文档。下面我根据我这几天的需求汇总一下经常用到的一些文档1、axisLabel:{轴文字,在xAxis或者yAxis根下show: true,textStyle:{color:...
  • 先看下最后的图吧,单击最上方的按钮可以控制柱状图显隐 views.py # -*- coding: utf-8 -*- from __future__ import unicode_literals import json from django.shortcuts import ...
  • 添加了数据标签的柱状图柱状图数据标签默认居中显示,但是遇到以下的情况,如果显示数据很小那么就意味着柱状图元素的高度很矮,那么中间的数据就不完全显示了。 遇到这样的问题,该如何解决呢,继续让数据...
  • 在项目汇总使用了MPAndroidChart实现柱状图,现在有这么一种需求,X横轴先只显示近15天 的数据,当控件向右滑动时,加载更加之前的数据。这个怎么
  • chart控件的属性很多,主要用到Chart...主要设置图标数据的背景,比如3D或者隐藏还是显示横纵轴交叉线,分块颜色显示等 3.Lengends: 图表图例集合 主要设置图表边说明的一些东西,这次项目没什么用到,但是觉得这个
  • 由于公司的winform项目需要用到Chart图表,抽空研究了一下,特地发上来给大家做个参考,就目前而言用到的属性说明都做了注释;...主要设置图标数据的背景,比如3D或者隐藏还是显示横纵轴交叉线,分块颜色显示等 L
  • 我想用jfreechart做一个柱状图(只是做个练习),显示数据库(mysql)中的数据,这个可以在jsp中显示吗,请问怎么做,哪位有实例让我看看啊
  • 一、理解每个数据图表适用的场景...1、柱状图:用于显示一段时间内的数据变化或显示各项之间的比较情况。通常有以下两种类型。 (Smartbi柱状图) 2、饼/环图:显示各项的大小与总和的比例,适用单维度的占比分析。比

空空如也

空空如也

1 2 3 4
收藏数 80
精华内容 32
关键字:

柱状图怎么显示数据