精华内容
下载资源
问答
  • Excel史上最好看的堆积柱形图

    千次阅读 2018-04-10 20:43:45
    前言作为小魔方的队友,我真的惊呆了,Excel竟能绘制这么好看的堆积柱形图和百分比堆积柱形图,很佩服小魔方的学习能力与创新能力。我的Excel水平感觉远远不如小魔方啊,佩服之极!很高兴能成为小魔方的队友!---...

    前言

    作为小魔方的队友,我真的惊呆了,Excel竟能绘制这么好看的堆积柱形图和百分比堆积柱形图,很佩服小魔方的学习能力与创新能力。我的Excel水平感觉远远不如小魔方啊,佩服之极!很高兴能成为小魔方的队友!

    ---张杰

    前天看到DP(Excel绘图发烧友)在本平台授权发布的华尔街日报面积图仿制图,刚好想起来一个半月前自己也曾做过这个案例。

    458

    当时我用了很复杂的数据组织,结合了面积图和柱状图,虽然效果很逼真,但是接口除出现了轻微的错位,留下了一大遗憾。

    当时虽然知道要用时间刻度来处理这一问题,但是因为眼高手低,一直没有操作,今天接着DP前一篇的案例,简单介绍下自己的方法(与前一篇的方法所使用的技巧是一致的),同时作为扩展,再赠送两个案例。

    为了对比,我先给出自己之前老版本的数据源组织:

    以上老方法可以近似原图效果(实际上接口处是有轻微错位的,放大之后可以看得很清楚)。

    DP大神的方法比较简单一些,使用的是时间刻度+面积图。

    该方法固然精妙,但是对于excel图表技巧不太熟悉的小伙伴儿们,可能就有点儿摸不着头脑了。

    因为此方法将原数据的首行作为面积图的X轴(时间刻度格式)、将其他各行(一共18行)作为面积图的数据序列,以错行数据来使得面积图逼近原图效果。(实际上数据源使用的是指标数据的累计和,借用面积图类型制作,通过低值面积块与高值面积块的层层遮盖来逼近原图效果)

    接下来我使用之前的老方法改进后的简便方法(所用核心技巧与DP一致)

    该方法与上一步指出的DP大神的方法是一致的,只是转换了行列,同时将累积和数据转换成了单值数据,这样便于使用堆积面积图来还原案例。

    按照我最初的想法,我将数据源整理成行排列,首列是时间轴(X轴)数据,这里我刻意将接口处的数据序列全部排成单行,以便大家体会时间刻度的奇妙用法。

    按照上述数据源,插入——面积图——堆积面图,然后为图表指定X轴为首列(A)数据,并更改为时间与日期刻度。

    这时候通过数据错行组织,堆积面图便可以近似还原案例图表效果。剩余的就是搭配色彩和文本信息。

    这里的文本信息,特别是左侧文本标签和右侧的数值标签,你可以通过手动添加,但是如果想要更加智能一点的自动生成,也可以尝试在现有图表序列基础上通过添加折线图序列来完成。

    左侧的文本标签所需的辅助散点图序列和右侧的数值标签所需的辅助散点图序列数据源如下:

    整体图表的最终效果如下:

    因为时间刻度的技巧,之前推送过的文章里多有介绍,这里不再深入讲解,亲手去操作几个案例,理解的会更加深刻。

    接下类是两个类似的使用时间刻度并与以上案例非常相似但是难度加倍的华尔街日表案例:

    其实后两者的技巧与上文讲过的案例如出一辙,第二个案例只是增加了更多的时间刻度,第三个案例通过在首尾各隐藏一个辅助面积块区域,来将例2的面积块区域逼近到水平居中的位置。

    这里只给出案例数据源组织方式,因为案例过于繁杂,实用性不强,不做过多介绍,感兴趣的读者可以私下交流。

    图2:多节阶梯图

    图3:漏斗状阶梯图

    特别是图3,在每一个序列首尾两个值=(MAX(所有十八个序列指标累积和)-单个序列累积和)/2

    通过隐藏每一个序列首尾的辅助面积块,将整个阶梯图区域逼近到水平居中的位置,思路仅供参考,其他需要添加的文本,如想自动化,可借鉴第一个案例所述的辅助散点图思想进行操作,本篇到此为止,只提供思路,具体步骤留给大家自己练习。

    展开全文
  • 但因为运营大佬想让图表可以实现导出成excel等格式。但后端不太愿意配合,发现原来highcharts可以来导出。就用highcharts。但源生的比较复杂。图表的比较多。所以丸子就把一些常用的图表封装了 封装的代码 <...

    最近做一个后台系统,后台系统其实是有很多图表。但因为运营大佬想让图表可以实现导出成excel等格式。但后端不太愿意配合,发现原来highcharts可以来导出。就用highcharts。但源生的比较复杂。图表的比较多。所以丸子就把一些常用的图表封装了
    封装的代码

    <template>
      <div class="highcharts-container" style="height:400px"></div>
    </template>
    <script>
    import Highcharts from 'highcharts/highstock'
    export default {
      props: ['options', 'styles'],
      name: 'highcharts',
      data() {
        return {
          chart: null
        }
      },
      watch: {
        options(newValue, oldValue) {
          this.options = newValue
          this.initChart()
        },
        deep: true
    
      },
      mounted() {
        this.initChart()
      },
      methods: {
        initChart() {
          //  console.log(this.$el)
          this.$nextTick(
            () =>
              (this.chart = new Highcharts.Chart(this.$el, {
                title: {
                  text:
                  this.options.title || ''
                },
                subtitle: {
                  text: this.options.subtitle || ''
                },
                colors: this.options.clolor || [
                  '#058DC7',
                  '#50B432',
                  '#ED561B',
                  '#DDDF00',
                  '#24CBE5',
                  '#64E572',
                  '#FF9655',
                  '#FFF263',
                  '#6AF9C4'
                ],
                xAxis: {
                  title: {
                    text: this.options.xtitle || ''
                  },
                  categories: this.options.categories
                },
                yAxis: {
                  title: {
                    text: this.options.ytitle || ''
                  }
                },
                plotOptions: {
                  series: {
                    label: {
                      connectorAllowed: false
                    }
                  }
                },
                series: this.options.series, // 数据
                tooltip: {
                  headerFormat:
                    '<span style="font-size:10px">{point.key}</span><table>',
                  pointFormat:
                    '<tr><td style="color:{series.color};padding:0">{series.name}: </td>' +
                    '<td style="padding:0"><b>{point.y:.1f}' +
                    (this.options.yCompany || '') +
                    '</b></td></tr>',
                  footerFormat: '</table>',
                  shared: true,
                  useHTML: true
                }
              }))
          )
        }
      }
    }
    </script>
    
    

    自己调用的数据结构

    曲线图
    export const basicData = {
      title: '333333', // 标题  没有则可去掉
      subtitle: '副标题', // 副标题  没有则可去掉
      ytitle: '温度', // y轴标题  没有则可以整行去掉
      xtitle: 'x轴', // x轴标题  没有则可以整行去掉
      // yCompany: 'mm', // y轴单位没有则去掉
      clolor: ['red', 'yellow', 'blue'], // 颜色 ,没有整行去掉,默认['#058DC7', '#50B432', '#ED561B', '#DDDF00','#24CBE5', '#64E572', '#FF9655', '#FFF263', '#6AF9C4']
      categories: ['一月', '二月', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], // x轴数据
      series: [{ name: '丸子1', data: [7, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6] },
        { name: '丸子2', data: [3.9, 4.2, 5.7, 8.5, 11.9, 15.2, 17, 16.6, 14.2, 10.3, 6.6, 4.8] },
        { name: '丸子3', data: [5, 6, 8.5, 17.5, 15.2, 2.5, 21.2, 22.5, 15.3, 14.3, 18.9, 2.6] }] // y轴数据  这个是3条线,所以我传3个,1个则可以传一下
    }
    

    柱图

    柱图
    <template>
      <div class="highcharts-container" style="height:400px"></div>
    </template>
    <script>
    import Highcharts from 'highcharts/highstock'
    export default {
      props: ['options', 'styles'],
      name: 'highcharts',
      data() {
        return {
          chart: null
        }
      },
      mounted() {
        console.log(Highcharts)
        this.initChart()
      },
      methods: {
        initChart() {
          if (this.styles) {
            this.$el.style.width = (this.styles.width || '') + 'px'
            this.$el.style.height = (this.styles.height || '') + 'px'
          }
          //  console.log(this.$el)
          this.$nextTick(
            () =>
              (this.chart = new Highcharts.Chart(this.$el, {
                chart: {
                  type: 'column'
                },
                colors: this.options.clolor || (['#058DC7', '#50B432', '#ED561B', '#DDDF00', '#24CBE5', '#64E572', '#FF9655', '#FFF263', '#6AF9C4']),
                title: {
                  text: this.options.title || ''
                },
                subtitle: {
                  text: this.options.subtitle || ''
                },
                xAxis: {
                  categories: this.options.categories,
                  title: {
                    text: this.options.xtitle || ''
                  },
                  crosshair: true
                },
                yAxis: {
                  min: 0,
                  title: {
                    text: this.options.ytitle || ''
                  }
                },
                tooltip: {
                  // head + 每个 point + footer 拼接成完整的 table
                  headerFormat:
                '<span style="font-size:10px">{point.key}</span><table>',
                  pointFormat:
                '<tr><td style="color:{series.color};padding:0">{series.name}: </td>' +
                '<td style="padding:0"><b>{point.y:.1f}' + (this.options.yCompany || '') + '</b></td></tr>',
                  footerFormat: '</table>',
                  shared: true,
                  useHTML: true
                },
                plotOptions: {
                  column: {
                    borderWidth: 0
                  }
                },
                series: this.options.series
              })
              ))
          //  this.$el.style.width = (this.styles.width || 800) + 'px'
          //  this.$el.style.height = (this.styles.height || 400) + 'px'
          //  this.chart = new Highcharts.Chart(this.$el, this.options);
        }
      }
    }
    </script>
    
    
    调用
    export const barData = {
    //  title: '333333', // 标题  没有则可去掉
    //  subtitle: '副标题', // 副标题  没有则可去掉
    //  ytitle: '温度', // y轴标题  没有则可以整行去掉
    //  xtitle: 'x轴', // x轴标题  没有则可以整行去掉
      categories: [
        '一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'
      ], // x轴数据
      yCompany: 'mm', // y轴单位没有则去掉
      series: [{
        name: '东京',
        data: [49.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]
      }, {
        name: '纽约',
        data: [83.6, 78.8, 98.5, 93.4, 106.0, 84.5, 105.0, 104.3, 91.2, 83.5, 106.6, 92.3]
      }, {
        name: '伦敦',
        data: [48.9, 38.8, 39.3, 41.4, 47.0, 48.3, 59.0, 59.6, 52.4, 65.2, 59.3, 51.2]
      }, {
        name: '柏林',
        data: [42.4, 33.2, 34.5, 39.7, 52.6, 75.5, 57.4, 60.4, 47.6, 39.1, 46.8, 51.1]
      }]// y轴数据  这个是4条,所以我传4个,1个则可以传一下
    }
    

    柱形+曲线

    <template>
      <div class="highcharts-container" style="height:400px"></div>
    </template>
    <script>
    import Highcharts from 'highcharts/highstock'
    export default {
      props: ['options', 'styles'],
      name: 'highcharts',
      data() {
        return {
          chart: null,
          series: []
        }
      },
      watch: {
        options(newValue, oldValue) {
          this.options = newValue
          // this.options.series.forEach(function(v, k) {
    
          // if (k < 1) {
          //   v.type = "column";
          // }
          //  })
    
          this.initChart()
        },
        deep: true
      },
      mounted() {
        console.log(Highcharts)
        this.initChart()
      },
      methods: {
        initChart() {
          if (this.styles) {
            this.$el.style.width = (this.styles.width || '') + 'px'
            this.$el.style.height = (this.styles.height || '') + 'px'
          }
          //  console.log(this.$el)
          this.$nextTick(
            () =>
              (this.chart = new Highcharts.Chart(this.$el, {
                chart: {
                  zoomType: 'xy'
                },
                title: {
                  text: this.options.title || '日期'
                },
                subtitle: {
                  text: this.options.subtitle || ''
                },
                xAxis: {
                  categories: this.options.categories,
                  crosshair: true
                },
                colors: this.options.clolor || ['#058DC7', '#50B432', '#ED561B', '#DDDF00', '#24CBE5', '#64E572', '#FF9655', '#FFF263', '#6AF9C4'],
                yAxis: [
                  { // Primary yAxis
                    labels: {
                      format: '',
                      style: {
                        color: Highcharts.getOptions().colors[1]
                      }
                    },
                    title: {
                      text: this.options.yAxis ? this.options.yAxis.text1 : '',
                      style: {
                        color: Highcharts.getOptions().colors[1]
                      }
                    }
                  }, { // Secondary yAxis
                    title: {
                      text: this.options.yAxis ? this.options.yAxis.text2 : '',
                      style: {
                        color: Highcharts.getOptions().colors[0]
                      }
                    },
                    labels: {
                      format: '',
                      style: {
                        color: Highcharts.getOptions().colors[0]
                      }
                    },
                    opposite: true
                  }
                  // {
                  //   // Primary yAxis
                  //   labels: {
                  //     format: "{value}",
                  //     style: {
                  //       color: Highcharts.getOptions().colors[1]
                  //     }
                  //   },
                  //   title: {
                  //     text: "",
                  //     style: {
                  //       color: Highcharts.getOptions().colors[1]
                  //     }
                  //   }
                  // },
                  // {
                  //   // Secondary yAxis
                  //   title: {
                  //     text: "",
                  //     style: {
                  //       color: Highcharts.getOptions().colors[0]
                  //     }
                  //   },
                  //   labels: {
                  //     format: "{value}",
                  //     style: {
                  //       color: Highcharts.getOptions().colors[0]
                  //     }
                  //   },
                  //   opposite: true
                  // }
                ],
                tooltip: {
                  shared: true
                },
                series: this.options.series
              }))
              //  this.$el.style.width = (this.styles.width || 800) + 'px'
          ) //  this.$el.style.height = (this.styles.height || 400) + 'px'
          //  this.chart = new Highcharts.Chart(this.$el, this.options);
        }
      }
    }
    </script>
    
    
    
    // 柱形图+曲线图
    export const barlineData = {
      title: '333333',
      //  subtitle: '副标题', // 副标题  没有则可去掉
      categories: [
        '一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月' // x轴数据
      ],
      yAxis: {
        text1: '温度',
        text2: '降雨量'
        // 因为这个y轴是有两个,所以我们传一个数组 text1是左边的,text2是右边
      },
      series: [{
        name: '温度',
        type: 'column',
        yAxis: 1,
        data: [49.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]
      }, {
        name: '降雨量',
        data: [83.6, 78.8, 98.5, 93.4, 106.0, 84.5, 105.0, 104.3, 91.2, 83.5, 106.6, 92.3]
      }, {
        name: '降雨',
        data: [81.6, 78.8, 98.5, 43.4, 106.0, 44.5, 105.0, 14.3, 91.2, 3.5, 106.6, 92.3]
      }, {
        name: '雨',
        data: [41.6, 78.8, 98.5, 43.4, 106.0, 44.5, 25.0, 14.3, 4.2, 3.5, 76.6, 82.3]
      }] // y轴数据
    }
    

    饼图

    <template>
      <div class="highcharts-container" style="height:400px"></div>
    </template>
    <script>
    import Highcharts from 'highcharts/highstock'
    export default {
      props: ['options', 'styles'],
      name: 'highcharts',
      data() {
        return {
          chart: null
        }
      },
      mounted() {
        console.log(Highcharts)
        this.initChart()
      },
      methods: {
        initChart() {
          if (this.styles) {
            this.$el.style.width = (this.styles.width || '') + 'px'
            this.$el.style.height = (this.styles.height || '') + 'px'
          }
          //  console.log(this.$el)
          this.chart = new Highcharts.Chart(this.$el, {
            chart: {
              plotBackgroundColor: null,
              plotBorderWidth: null,
              plotShadow: false,
              type: 'pie'
            },
            title: {
              text: this.options.title || ''
            },
            subtitle: {
              text: this.options.subtitle || ''
            },
            tooltip: {
              pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>'
            },
            plotOptions: {
              pie: {
                allowPointSelect: true,
                cursor: 'pointer',
                dataLabels: {
                  enabled: true,
                  format: '<b>{point.name}</b>: {point.percentage:.1f} %',
                  style: {
                    color: (Highcharts.theme && Highcharts.theme.contrastTextColor) || 'black'
                  }
                }
              }
            },
            series: [{
              name: 'Brands',
              colorByPoint: true,
              data: [{
                name: 'Chrome',
                y: 61.41,
                sliced: true,
                selected: true
              }, {
                name: 'Internet Explorer',
                y: 11.84
              }, {
                name: 'Firefox',
                y: 10.85
              }, {
                name: 'Edge',
                y: 4.67
              }, {
                name: 'Safari',
                y: 4.18
              }, {
                name: 'Sogou Explorer',
                y: 1.64
              }, {
                name: 'Opera',
                y: 1.6
              }, {
                name: 'QQ',
                y: 1.2
              }, {
                name: 'Other',
                y: 2.61
              }]
            }]
    
            // legend: {
            //   layout: "vertical",
            //   align: "right",
            //   verticalAlign: "middle"
            // },
    
          })
          //  this.$el.style.width = (this.styles.width || 800) + 'px'
          //  this.$el.style.height = (this.styles.height || 400) + 'px'
          //  this.chart = new Highcharts.Chart(this.$el, this.options);
        }
      }
    }
    </script>
    
    
    // 饼图
    // pie chart data
    export const PieData = {
      title: 'Contents ivry',
      subtitle: '3D ',
      plotOptions: {
        pie: {
          innerSize: 100,
          depth: 45
        }
      },
      series: [{
        name: 'Delivered amount',
        data: [
          ['Bananas', 8],
          ['Kiwi', 3],
          ['Mixed nuts', 1],
          ['Oranges', 6],
          ['Apples', 8],
          ['Pears', 4],
          ['Clementines', 4],
          ['Reddish (bag)', 1],
          ['Grapes (bunch)', 1]
        ]
      }]
    }
    

    面积图

    <template>
      <div class="highcharts-container" style="height:400px"></div>
    </template>
    <script>
    import Highcharts from 'highcharts/highstock'
    export default {
      props: ['options', 'styles'],
      name: 'highcharts',
      data() {
        return {
          chart: null
        }
      },
      watch: {
        options(newValue, oldValue) {
          this.options = newValue
          this.initChart()
        },
        deep: true
    
      },
      mounted() {
        console.log(Highcharts)
        this.initChart()
      },
      methods: {
        initChart() {
          console.log(this.options)
          this.$nextTick(
            () =>
              (this.chart = new Highcharts.Chart(this.$el, {
                chart: {
                  type: 'area'
                },
                title: {
                  text: this.options.title || ''
                },
                colors: this.options.clolor || [
                  '#058DC7',
                  '#50B432',
                  '#ED561B',
                  '#DDDF00',
                  '#24CBE5',
                  '#64E572',
                  '#FF9655',
                  '#FFF263',
                  '#6AF9C4'
                ],
                subtitle: {},
                xAxis: {
                  categories: this.options.categories,
                  title: {
                    text: this.options.xtitle || ''
                  }
                },
                yAxis: {
                  title: {
                    text: this.options.ytitle || ''
                  },
                  labels: {
                    // formatter: function() {
                    //   return this.value / 1000 + 'k'
                    // }
                  }
                },
                tooltip: {
                  // head + 每个 point + footer 拼接成完整的 table
                  headerFormat:
                '<span style="font-size:10px">{point.key}</span><table>',
                  pointFormat:
                '<tr><td style="color:{series.color};padding:0">{series.name}: </td>' +
                '<td style="padding:0"><b>{point.y:.1f}' + (this.options.yCompany || '') + '</b></td></tr>',
                  footerFormat: '</table>',
                  shared: true,
                  useHTML: true
                },
                plotOptions: {},
                series: this.options.series
              }))
          )
          //  this.$el.style.width = (this.styles.width || 800) + 'px'
          //  this.$el.style.height = (this.styles.height || 400) + 'px'
          //  this.chart = new Highcharts.Chart(this.$el, this.options);
        }
      }
    }
    </script>
    
    
    展开全文
  • 例如某月中某个城市各个组别的销售图表包含柱形图及饼图,柱形图用以突出各个项目之间的对比情况,饼图以用对各个项目在整个数据中的占比情况,完成后效果如下: 某个城市某个组别在各个月的销售图表: 本实例的...

    首先看一下数据源:

     

    根据分析需求,要制作可以A列、B列、月份选择的动态数据表。

    例如某月中某个城市各个组别的销售图表包含柱形图及饼图,柱形图用以突出各个项目之间的对比情况,饼图以用对各个项目在整个数据中的占比情况,完成后效果如下:

     

      某个城市某个组别在各个月的销售图表:

    本实例的图表重点在于两个选择项的同时对下拉列表的控制互动。为了便于理解及添加新的应用要求,因此在【名称管理器】中新建名称来解决这类问题。

    此次实例中的名称管理器中的新建名称公式如下:

    如果觉得有些生涩难懂,可以参考我之前的博文:Excel动态图表应用,与本文类似但应用的名称公式较为简单。

    这些名称的主要功能是快速地、动态地赋值给图表的【系列】及【数据】、【标签】等。

    名称管理器中的部分名称解释:

    (1)按钮_分公司:=图表!$M$3

            将三个分公司按钮分为一组,设置其属性【控制】单元格链接“图表!$M$3”。按钮_下拉列表分类链接至M1。

    (2)标签:=CHOOSE(图表!$M$1,CHOOSE(图表!$M$3,组别_北京,组别_上海,组别_广州),月)

           为图表【水平(分类)轴标签】做标识。CHOOSE选择函数是本动态图表的核心部分,“北京、上海、广州”这三个选项会链接至M3单元格,因此可以用M3单元格来控制标签标识。

    (3)系列:=CHOOSE(图表!$M$1,系列_月,系列_组别)

           服务于图表的【图例项(系列)】。它与其他几个名称中的函数类似嵌套了CHOOSE函数。标签和系列在图表中的位置【插入】选择图表类型创建图表,然后点击右键【选择数据】。如下图所示:

            当选择编辑时需要输入完整的工作簿路径:

    (4)系列_月:=OFFSET(CHOOSE(图表!$M$3,区域_北京,区域_上海,区域_广州),0,图表!$M$2,COUNTA(CHOOSE(图表!$M$3,组别_北京,组别_上海,组别_广州)),1)

           这个函数比较长,这里稍微解释一下,如果对函数构成不了解,可以按F1帮助一下。

    Offset函数可以利用偏移量得到新的引用。范围根据选择按钮的链接单元格M3为基础,用CHOOSE函数对其进行选择置顶区域范围。后面的COUNTA函数同样通过按钮链接选择组别,并对其计数。

    通过对名称的设置,就能很好的为图表服务,动态的体现数据的意义。当然也可以通过其他函数来实现同样的效果,本文下面有此图表应用附件,如有兴趣欢迎交流。


    本文转自 kirin 51CTO博客,原文链接:http://blog.51cto.com/kirin/659300 ,如需转载请自行联系原作者

    展开全文
  • 数据可视化用到的好多图都或多或少用到了条形图或者柱形图。初学tableau照着别人的图做了几个例子。对比excel来看有一定的优势也有一些欠缺灵活的地方。对于我个人来讲: 优势: 做一般的图型数据可视化的工具确实...

    数据可视化用到的好多图都或多或少用到了条形图或者柱形图。初学tableau照着别人的图做了几个例子。当然tableau那么贵可不是让用来只画画图表的,他的功能非常强大,数据分析、统计、算法、操作数据集等等都非常好用。我也只是站在初学者先从简单图表做起的角度来做了个对比。相对于excel来看有一定的优势也有一些欠缺灵活的地方。

    如果对于图表个性化没有那么大要求,可视化工具非常棒,非常快捷。对于发表一些数据分析文章对图表新颖程度要求高的可以用excel。

    审美疲劳的时候大家可以关注一下《DT财经》微信公众号,这里的数据分析报告和图表做的非常好。

    下面是学习tableau和excel做的一些条形图和柱状图:
    Tableau:
    在这里插入图片描述

    Excel:
    在这里插入图片描述
    后续会把每个图的制作方式发出来。

    展开全文
  • 3.Excel数据透视表

    2021-05-27 16:13:00
    1.数据透视表优势 1.“拖”字大法 易操作 2.统计规则丰富 可计算 3.排序、筛选、添加...比较类:柱形图、条形图、折线图、雷达图 构成类:饼图、树状图、旭日图 分布、联系:散点图、气泡图 统计类:直方图、箱型图 ...
  • excel的使用

    2012-11-25 17:06:01
    从简单的三角函数到复杂的对数、指数函数,都可以用EXCEL画出曲线。如果用得到,你还可以利用EXCEL来完成行列式、矩阵的各种计算,进行简单的积分运算,利用迭代求函数值(如x^2=x^7+4,可用迭代方法求x值),等等,...
  • 8.0 三维地图

    2015-12-26 15:07:17
    Excel 2013版以后在...Excel 2013 的“三维地图”工具既可以绘制三维地图,又可以绘制二维地图,包括簇状柱形图、堆积柱形图、气泡图、热度图和分档填色图,同时还可以实现动态效果以及创建视频,更多信息可参考:...
  • 小李在一家连锁超市企业的IT部门,经常...就拿一个简单的综合分析仪表板来说,用 Excel做就需要用到表格函数、AVERAGEIF函数、INDEX函数、MATCH函数等十几个函数,以及堆积条形图、簇状柱形图、信息图、带数据标记的折
  • EXCEL 2007 宝典 附光盘文件

    热门讨论 2010-04-02 14:43:05
    conditional colors.xlsx:一个包含根据数值显示不同颜色的柱形图的工作簿。 function plot 2D.xlsx:一个演示如何使用一个变量的函数绘图的工作簿。 function plot 3D.xlsx:一个演示如何使用两个变量的函数绘图...
  • 数据可视化是数据分析师必备流程之一。如何将自己的分析结果更好的呈现在用户面前,然后借助图表才能把数据故事讲好。...这个图表虽然很全面,但是我认为真正大部分复杂的图表都可以由饼图、条形柱形...
  • 5.2版控件新增了一个Chartlet的组件,使用非常方便,可以生成柱形图、饼图、折线图等多种图形,而且可以设置2D或3D效果,既可以在打印控件中打印出来,也可以在Graphics对象中显示。 4、分组汇总打印DataGridVeiw...
  • 5.2版控件新增了一个Chartlet的组件,使用非常方便,可以生成柱形图、饼图、折线图等多种图形,而且可以设置2D或3D效果,既可以在打印控件中打印出来,也可以在Graphics对象中显示。 4、文本打印输出功能,控件提供...
  • 第11 章介绍了函数与Excel其他功能的结合使用,另外第12章单独介绍了Excel 2013的特有函数。 读者可以在本书中查询相关案例,从而在工作中得到解决问题的方法; 也可以将本书作为学习Excel 函数的参考书或习题集,以...
  • 无论是单轴曲线 、双轴曲线 、柱形图 、饼图 、雷达图 、仪表图。图表引擎全能为您轻松实现。您只需要 3 步操作(数据源准备,设计图表,挂接到您想要展示的位置)便可完成 BI 的设计。 无论是普通报表、交叉报表 ...
  • 实例217 设置柱形图文本注解类别锚点 336 实例218 设置柱形图文本注解旋转锚点 338 实例219 设置柱形图线条注解 339 实例220 绘制柱形效果 341 实例221 柱形图阴影 342 实例222 柱形图阴影偏移 344 实例223 设置柱形...
  • 实例217 设置柱形图文本注解类别锚点 336 实例218 设置柱形图文本注解旋转锚点 338 实例219 设置柱形图线条注解 339 实例220 绘制柱形效果 341 实例221 柱形图阴影 342 实例222 柱形图阴影偏移 344 实例223 设置柱形...
  • 实例217 设置柱形图文本注解类别锚点 336 实例218 设置柱形图文本注解旋转锚点 338 实例219 设置柱形图线条注解 339 实例220 绘制柱形效果 341 实例221 柱形图阴影 342 实例222 柱形图阴影偏移 344 实例223 设置柱形...
  • 实例217 设置柱形图文本注解类别锚点 336 实例218 设置柱形图文本注解旋转锚点 338 实例219 设置柱形图线条注解 339 实例220 绘制柱形效果 341 实例221 柱形图阴影 342 实例222 柱形图阴影偏移 344 实例223 设置柱形...
  • 最简单的数据可视化是利用Excel等制作图表,例如折线图、饼图、柱形图。还有比较复杂的数据可视化,比如每年双十一我们看到的天猫展现实时交易数据的可视化大屏。 △天猫双11大屏展示 数据可视化大屏是将一些...
  • 实例267 利用柱形图显示某Ajax网站不同框架的年下载量 实例268 利用折线图分析不同城市气温变化情况 实例269 利用区域图分析不同学生的成绩变化 实例270 利用时序图分析股票价格走势 实例271 利用时序图分析2009年...
  • 实例267 利用柱形图显示某Ajax网站不同框架的年下载量 实例268 利用折线图分析不同城市气温变化情况 实例269 利用区域图分析不同学生的成绩变化 实例270 利用时序图分析股票价格走势 实例271 利用时序图分析2009年...
  • 实例267 利用柱形图显示某Ajax网站不同框架的年下载量 实例268 利用折线图分析不同城市气温变化情况 实例269 利用区域图分析不同学生的成绩变化 实例270 利用时序图分析股票价格走势 实例271 利用时序图分析2009年...
  • 实例258 利用选择控件实现复杂查询 11.8 TreeView控件应用 实例259 在TreeView控件节点中显示图片 实例260 实现带复选框的TreeView控件 实例261 将数据库数据显示到树视图中 实例262 用树型列表动态显示菜单 ...
  • 实例258 利用选择控件实现复杂查询 11.8 TreeView控件应用 实例259 在TreeView控件节点中显示图片 实例260 实现带复选框的TreeView控件 实例261 将数据库数据显示到树视图中 实例262 用树型列表动态显示菜单 ...
  • 实例258 利用选择控件实现复杂查询 11.8 TreeView控件应用 实例259 在TreeView控件节点中显示图片 实例260 实现带复选框的TreeView控件 实例261 将数据库数据显示到树视图中 实例262 用树型列表动态显示菜单 ...
  • Java开发实战1200例.第2卷.part3

    热门讨论 2013-05-08 22:46:34
    实例267 利用柱形图显示某Ajax网站不同框架的 年下载量 431 实例268 利用折线图分析不同城市气温变化 情况 432 实例269 利用区域图分析不同学生的成绩变化 433 实例270 利用时序图分析股票价格走势 434 实例271 利用...
  • Java开发实战1200例.第2卷.part2

    热门讨论 2013-05-08 22:45:35
    实例267 利用柱形图显示某Ajax网站不同框架的 年下载量 431 实例268 利用折线图分析不同城市气温变化 情况 432 实例269 利用区域图分析不同学生的成绩变化 433 实例270 利用时序图分析股票价格走势 434 实例271 利用...

空空如也

空空如也

1 2 3 4 5
收藏数 93
精华内容 37
关键字:

excel复杂柱形图