精华内容
下载资源
问答
  • https://www.xin3721.com/eschool/pythonxin3721/开发工具,环境PyCharmPython3Office ...柱形图 BarChart参考《Python openpyxl Excel绘制柱形图》得知,我们主要使用BarChart与BarChart3D类。图表中许多的细节...

    https://www.xin3721.com/eschool/pythonxin3721/

    开发工具,环境

    PyCharm

    Python3

    Office Excel

    前面我们已经创建好了一张Excel表。

    现在我们要根据已有的数据,往里面添加柱形图。

    柱形图 BarChart

    参考《Python openpyxl Excel绘制柱形图》得知,我们主要使用BarChart与BarChart3D类。

    图表中许多的细节由BarChart属性控制。

    后文都以chart1来表示柱形图对象 chart1 = BarChart() 。

    数据来源范围 Reference

    首先我们应该确定数据的范围。有数据才好绘图。这里使用的是Reference类来表示数据“引用”范围。

    data1 = Reference(st, min_col=2, min_row=1, max_row=7, max_col=3)

    cats1 = Reference(st, min_col=1, min_row=2, max_row=7)

    需要注意的是,范围的下标是从1开始的。

    这里的data1把标题也框进去了。设定数据的时候,需要设置titles_from_data=True

    chart1.add_data(data1, titles_from_data=True)

    设置种类使用set_categories方法,也是把一个范围(Reference)的数据传入。

    chart1.set_categories(cats1)

    柱子方向控制 type

    方向由属性type来控制,有2个可选参数:bar表示横向,col表示竖直。

    chart1.type = "bar" # 横向柱形图

    chart1.type = "col" # 纵向柱形图

    标题 title

    属性title控制标题。如果置为None则不显示标题。

    图表的标题 chart1.title = "日均值对比"

    坐标的标题,首先需要拿到x,y的坐标。

    chart1.y_axis.title = '数值'

    chart1.x_axis.title = st.cell(column=1, row=1).value # 直接用单元格的内容做标题

    添加图表

    add_chart将图表添加到sheet中。图表的左上角对齐某个单元格。下面是对齐A8。

    st.add_chart(chart1, 'A8')

    3D柱形图 BarChart3D

    柱子的形状 shape

    默认是立方体,但也可以从下面的形状里选一个。

    {'box', 'pyramid', 'pyramidToMax', 'coneToMax', 'cone', 'cylinder'}

    chart1.type = 'cone'

    box 是立方体,中规中矩。

    pyramid 是金字塔,顶部也是尖的。

    cone 是圆锥,看起来很尖锐。

    cylinder 是圆柱。

    配色风格 style

    style 会影响图表的配色风格,一般用10比较多彩多样。

    代码示例

    绘制图表用的数据来自运营的Python指南 - Python 操作Excel。

    我们在已有的表格中添加柱形图。代码参考python-playground - Github

    绘制2D柱形图

    def create_bar_chart_1(file_path):

    """

    插入柱形图

    :param file_path: Excel 文件路径

    :return: None

    """

    wb = load_workbook(file_path)

    st = wb.active

    data1 = Reference(st, min_col=2, min_row=1, max_row=7, max_col=3)

    cats1 = Reference(st, min_col=1, min_row=2, max_row=7)

    chart1 = BarChart()

    chart1.type = "col"

    chart1.style = 9

    chart1.title = "日均值对比"

    # chart1.y_axis.title = '数值'

    chart1.x_axis.title = st.cell(column=1, row=1).value

    chart1.add_data(data1, titles_from_data=True)

    chart1.set_categories(cats1)

    chart1.shape = 0

    st.add_chart(chart1, 'A8')

    wb.save(file_path)

    绘制3D柱形图

    def create_bar_chart_2(file_path):

    """

    插入3D柱形图

    :param file_path: Excel 文件路径

    :return: None

    """

    wb = load_workbook(file_path)

    st = wb.active

    data1 = Reference(st, min_col=2, min_row=1, max_row=7, max_col=3)

    cats1 = Reference(st, min_col=1, min_row=2, max_row=7)

    chart1 = BarChart3D()

    chart1.type = "bar"

    chart1.style = 10

    chart1.title = "日均值对比"

    chart1.x_axis.title = None

    chart1.shape = 'cylinder'

    chart1.add_data(data1, titles_from_data=True)

    chart1.set_categories(cats1)

    st.add_chart(chart1, 'A26')

    wb.save(file_path)

    运行结果示例图片

    1121063C3-0.png

    展开全文
  • 柱形图数据会被绘制成垂直,水平或者是层叠效果的柱形图。注意:接下来的设置会影响到不同类型的图表。设置类别可以控制柱形图是垂直或是水平。使用层叠图形时,需要设置overlap成100。如果柱形是水平的,x和y坐标会...

    这是一份openpyxl的使用指南。

    柱形图

    数据会被绘制成垂直,水平或者是层叠效果的柱形图。

    注意:

    接下来的设置会影响到不同类型的图表。

    设置类别可以控制柱形图是垂直或是水平。

    使用层叠图形时,需要设置overlap成100。

    如果柱形是水平的,x和y坐标会对调过来。

    2D图表

    bar.png

    示例代码如下,根据给定的数据绘制了4张图表。

    from openpyxl import Workbook

    from openpyxl.chart import BarChart, Series, Reference

    def bar_chart_demo():

    wb = Workbook(write_only=True)

    ws = wb.create_sheet()

    rows = [

    ('Number', 'Batch 1', 'Batch 2'),

    (2, 10, 30),

    (3, 40, 60),

    (4, 50, 70),

    (5, 20, 10),

    (6, 10, 40),

    (7, 50, 30),

    ]

    for row in rows:

    ws.append(row)

    chart1 = BarChart()

    chart1.type = "col"

    chart1.style = 10

    chart1.title = "Bar Chart"

    chart1.y_axis.title = 'Test number'

    chart1.x_axis.title = 'Sample length (mm)'

    data = Reference(ws, min_col=2, min_row=1, max_row=7, max_col=3)

    cats = Reference(ws, min_col=1, min_row=2, max_row=7)

    chart1.add_data(data, titles_from_data=True)

    chart1.set_categories(cats)

    chart1.shape = 4

    ws.add_chart(chart1, "A10")

    from copy import deepcopy

    chart2 = deepcopy(chart1)

    chart2.style = 11

    chart2.type = "bar"

    chart2.title = "Horizontal Bar Chart"

    ws.add_chart(chart2, "I10")

    chart3 = deepcopy(chart1)

    chart3.type = "col"

    chart3.style = 12

    chart3.grouping = "stacked"

    chart3.overlap = 100

    chart3.title = 'Stacked Chart'

    ws.add_chart(chart3, "A27")

    chart4 = deepcopy(chart1)

    chart4.type = "bar"

    chart4.style = 13

    chart4.grouping = "percentStacked"

    chart4.overlap = 100

    chart4.title = 'Percent Stacked Chart'

    ws.add_chart(chart4, "I27")

    wb.save("out/bar.xlsx")

    if __name__ == '__main__':

    bar_chart_demo()

    译者注:这里调整了图表在excel中的位置,原文是在G列,即G10和G27,这里改为了I列。代码格式也有微调。

    我们需要生成图表的时候,Excel会要我们先选定数据范围(来源)。在代码中用Reference来指定数据来源范围。

    3D图表

    绘制3D图表,使用BarChart3D。

    def bar_3d():

    wb = Workbook()

    ws = wb.active

    rows = [

    (None, 2013, 2014),

    ("Apples", 5, 4),

    ("Oranges", 6, 2),

    ("Pears", 8, 3)

    ]

    for row in rows:

    ws.append(row)

    data = Reference(ws, min_col=2, min_row=1, max_col=3, max_row=4)

    titles = Reference(ws, min_col=1, min_row=2, max_row=4)

    chart = BarChart3D()

    chart.title = "3D Bar Chart"

    chart.add_data(data=data, titles_from_data=True)

    chart.set_categories(titles)

    ws.add_chart(chart, "E5")

    wb.save("out/bar3d.xlsx")

    创建好的图表用WPS打开发现是2D的。用Office Excel打开是3D的。

    bar3D.png

    展开全文
  • Excel柱形图条形图模板-钱袋图案柱形图Excel图表
  • python画柱状图-Python Excel 绘制柱形图

    千次阅读 2020-10-28 21:15:38
    本文主要讲述如何使用Python操作Excel绘制柱形图。开发工具,环境PyCharmPython3Office Excel前面我们已经创建好了一张Excel表。现在我们要根据已有的数据,往里面添加柱形图柱形图 BarChart参考《Python openpyxl...

    本文主要讲述如何使用Python操作Excel绘制柱形图。

    开发工具,环境

    PyCharm

    Python3

    Office Excel

    前面我们已经创建好了一张Excel表。

    现在我们要根据已有的数据,往里面添加柱形图。

    柱形图 BarChart

    参考《Python openpyxl Excel绘制柱形图》得知,我们主要使用BarChart与BarChart3D类。

    图表中许多的细节由BarChart属性控制。

    后文都以chart1来表示柱形图对象 chart1 = BarChart() 。

    数据来源范围 Reference

    首先我们应该确定数据的范围。有数据才好绘图。这里使用的是Reference类来表示数据"引用”范围。

    data1 = Reference(st, min_col=2, min_row=1, max_row=7, max_col=3)

    cats1 = Reference(st, min_col=1, min_row=2, max_row=7)

    需要注意的是,范围的下标是从1开始的。

    这里的data1把标题也框进去了。设定数据的时候,需要设置titles_from_data=True

    chart1.add_data(data1, titles_from_data=True)

    设置种类使用set_categories方法,也是把一个范围(Reference)的数据传入。

    chart1.set_categories(cats1)

    柱子方向控制 type

    方向由属性type来控制,有2个可选参数:bar表示横向,col表示竖直。

    chart1.type = "bar" # 横向柱形图

    chart1.type = "col" # 纵向柱形图

    标题 title

    属性title控制标题。如果置为None则不显示标题。

    图表的标题 chart1.title = "日均值对比"

    坐标的标题,首先需要拿到x,y的坐标。

    chart1.y_axis.title = '数值'

    chart1.x_axis.title = st.cell(column=1, row=1).value # 直接用单元格的内容做标题

    添加图表

    add_chart将图表添加到sheet中。图表的左上角对齐某个单元格。下面是对齐A8。

    st.add_chart(chart1, 'A8')

    3D柱形图 BarChart3D

    柱子的形状 shape

    默认是立方体,但也可以从下面的形状里选一个。

    {'box', 'pyramid', 'pyramidToMax', 'coneToMax', 'cone', 'cylinder'}

    chart1.type = 'cone'

    box 是立方体,中规中矩。

    pyramid 是金字塔,顶部也是尖的。

    cone 是圆锥,看起来很尖锐。

    cylinder 是圆柱。

    配色风格 style

    style 会影响图表的配色风格,一般用10比较多彩多样。

    代码示例

    绘制2D柱形图

    def create_bar_chart_1(file_path):

    """

    插入柱形图

    :param file_path: Excel 文件路径

    :return: None

    """

    wb = load_workbook(file_path)

    st = wb.active

    data1 = Reference(st, min_col=2, min_row=1, max_row=7, max_col=3)

    cats1 = Reference(st, min_col=1, min_row=2, max_row=7)

    chart1 = BarChart()

    chart1.type = "col"

    chart1.style = 9

    chart1.title = "日均值对比"

    # chart1.y_axis.title = '数值'

    chart1.x_axis.title = st.cell(column=1, row=1).value

    chart1.add_data(data1, titles_from_data=True)

    chart1.set_categories(cats1)

    chart1.shape = 0

    st.add_chart(chart1, 'A8')

    wb.save(file_path)

    绘制3D柱形图

    def create_bar_chart_2(file_path):

    """

    插入3D柱形图

    :param file_path: Excel 文件路径

    :return: None

    """

    wb = load_workbook(file_path)

    st = wb.active

    data1 = Reference(st, min_col=2, min_row=1, max_row=7, max_col=3)

    cats1 = Reference(st, min_col=1, min_row=2, max_row=7)

    chart1 = BarChart3D()

    chart1.type = "bar"

    chart1.style = 10

    chart1.title = "日均值对比"

    chart1.x_axis.title = None

    chart1.shape = 'cylinder'

    chart1.add_data(data1, titles_from_data=True)

    chart1.set_categories(cats1)

    st.add_chart(chart1, 'A26')

    wb.save(file_path)

    运行结果示例图片

    706293-20191119220343042-96940052.png

    展开全文
  • 现在我们要根据已有的数据,往里面添加柱形图柱形图 BarChart我们主要使用BarChart与BarChart3D类。图表中许多的细节由BarChart属性控制。后文都以chart1来表示柱形图对象 chart1 = BarChart() 。数据来源范围 ...

    开发工具,环境PyCharm

    Python3

    Office Excel

    我们已经创建好了一张Excel表。

    现在我们要根据已有的数据,往里面添加柱形图。

    柱形图 BarChart

    我们主要使用BarChart与BarChart3D类。

    图表中许多的细节由BarChart属性控制。

    后文都以chart1来表示柱形图对象 chart1 = BarChart() 。

    数据来源范围 Reference

    首先我们应该确定数据的范围。有数据才好绘图。这里使用的是Reference类来表示数据“引用”范围。

    data1 = Reference(st, min_col=2, min_row=1, max_row=7, max_col=3)

    cats1 = Reference(st, min_col=1, min_row=2, max_row=7)

    需要注意的是,范围的下标是从1开始的。

    这里的data1把标题也框进去了。设定数据的时候,需要设置titles_from_data=True

    chart1.add_data(data1, titles_from_data=True)

    设置种类使用set_categories方法,也是把一个范围(Reference)的数据传入。

    chart1.set_categories(cats1)

    柱子方向控制 type

    方向由属性type来控制,有2个可选参数:bar表示横向,col表示竖直。

    chart1.type = "bar" # 横向柱形图

    chart1.type = "col" # 纵向柱形图

    标题 title

    属性title控制标题。如果置为None则不显示标题。

    图表的标题 chart1.title = "日均值对比"

    坐标的标题,首先需要拿到x,y的坐标。

    chart1.y_axis.title = '数值'

    chart1.x_axis.title = st.cell(column=1, row=1).value # 直接用单元格的内容做标题

    添加图表

    add_chart将图表添加到sheet中。图表的左上角对齐某个单元格。下面是对齐A8。

    st.add_chart(chart1, 'A8')

    3D柱形图 BarChart3D

    柱子的形状 shape

    默认是立方体,但也可以从下面的形状里选一个。

    {'box', 'pyramid', 'pyramidToMax', 'coneToMax', 'cone', 'cylinder'}

    chart1.type = 'cone'

    box 是立方体,中规中矩。

    pyramid 是金字塔,顶部也是尖的。

    cone 是圆锥,看起来很尖锐。

    cylinder 是圆柱。

    配色风格 style

    style 会影响图表的配色风格,一般用10比较多彩多样。

    代码示例

    绘制2D柱形图

    def create_bar_chart_1(file_path):

    """

    插入柱形图

    :param file_path: Excel 文件路径

    :return: None

    """

    wb = load_workbook(file_path)

    st = wb.active

    data1 = Reference(st, min_col=2, min_row=1, max_row=7, max_col=3)

    cats1 = Reference(st, min_col=1, min_row=2, max_row=7)

    chart1 = BarChart()

    chart1.type = "col"

    chart1.style = 9

    chart1.title = "日均值对比"

    # chart1.y_axis.title = '数值'

    chart1.x_axis.title = st.cell(column=1, row=1).value

    chart1.add_data(data1, titles_from_data=True)

    chart1.set_categories(cats1)

    chart1.shape = 0

    st.add_chart(chart1, 'A8')

    wb.save(file_path)

    绘制3D柱形图

    def create_bar_chart_2(file_path):

    """

    插入3D柱形图

    :param file_path: Excel 文件路径

    :return: None

    """

    wb = load_workbook(file_path)

    st = wb.active

    data1 = Reference(st, min_col=2, min_row=1, max_row=7, max_col=3)

    cats1 = Reference(st, min_col=1, min_row=2, max_row=7)

    chart1 = BarChart3D()

    chart1.type = "bar"

    chart1.style = 10

    chart1.title = "日均值对比"

    chart1.x_axis.title = None

    chart1.shape = 'cylinder'

    chart1.add_data(data1, titles_from_data=True)

    chart1.set_categories(cats1)

    st.add_chart(chart1, 'A26')

    wb.save(file_path)

    运行结果示例图片

    学习更过python技能和知识可以查看下面:

    展开全文
  • Excel柱形图条形图模板-简易柱状温度计
  • Excel柱形图条形图模板-逆序柱形图
  • Excel柱形图条形图模板-多彩柱形图
  • Excel柱形图条形图模板-多层柱形图
  • Excel柱形图条形图模板-漂亮折线柱形图Excel图表
  • Excel柱形图条形图模板-多组柱形图Excel图表
  • Excel柱形图条形图模板-柱形图销量分析图
  • Excel柱形图条形图模板-额达标柱形图Excel图表
  • Excel柱形图条形图模板-背景隔行填充柱形图Excel图表
  • Excel柱形图条形图模板-灰红经典柱形图Excel图表
  • Excel柱形图条形图模板-多段组合柱形图Excel图表
  • Excel柱形图条形图模板-重构数据柱形图
  • Excel柱形图条形图模板-简单动态柱形图
  • Excel柱形图条形图模板-特殊刻度柱形图
  • Excel柱形图条形图模板-堆积百分比柱形图
  • Excel柱形图条形图模板-REPT两级图
  • Excel柱形图条形图模板-超出绘图区的柱形图
  • Excel柱形图条形图模板-黑底经典网状柱形图
  • Excel柱形图条形图模板-带涨幅的柱形图
  • Excel柱形图条形图模板-多段式柱形图
  • Excel柱形图条形图模板-多层不等宽柱形图
  • Excel柱形图条形图模板-填充背景的柱形图
  • Excel柱形图条形图模板-双坐标轴柱形图
  • Excel柱形图条形图模板-条形产品销量趋势图柱形图

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 13,047
精华内容 5,218
关键字:

如何用excel柱状图