• 为了完成本关任务，你需要掌握绘制堆积（并列柱状图绘制堆积柱状图 bar函数调用方式如下所示： matplotlib.pyplot.bar(x, height, width=0.8, bottom=None, *, align='center', data=None, **kwargs)
相关知识

绘制堆积柱状图

bar函数调用方式如下所示：

matplotlib.pyplot.bar(x, height, width=0.8, bottom=None, *, align='center', data=None, **kwargs)

要想绘制堆积柱状图，可通过设置第一个参数x的值来使得柱形错位显示，x的每一个元素表示柱形的中间位置，示例代码如下所示：

import numpy as np
import matplotlib.pyplot as plt

# A班计算机程序设计课5个小组的平均成绩柱状图
A_means_score = np.array([90, 85, 77, 82, 79])

# B班计算机程序设计课5个小组的平均成绩柱状图
B_means_score = np.array([67, 82, 87, 92, 95])

index = np.arange(5)
bar_width = 0.35

plt.bar(index, A_means_score, bar_width, # A班x轴数据起始位置为index序列
alpha=0.4, color='b')
plt.bar(index+bar_width, B_means_score, bar_width, #B班x轴起始位置与A班数据错开
alpha=0.4, color='r')
x_labels = ['Group 1', 'Group 2', 'Group 3', 'Group 4', 'Group 5']
plt.xticks(index+bar_width/2, x_labels) # index+bar_width/2 使得标签居中显示
plt.show()
输出图像如下所示：

若是有多组数据，则可通过结合列表以及循环结构进行绘图控制。

案例代码示例

# 请编写代码绘制住宅商品房平均销售价格柱状图
import matplotlib.pyplot as plt
import numpy as np
#初始化数据
xstring = [2015,2014,2013,2012,2011,2010,2009,2008,2007,2006,2005,2004,2003,2002,2001,2000] #x轴标签
xstring.reverse()
xstrinf = tuple(xstring)

n = 6
ystring = ['']*n #y轴对应的6组数据
ystring[0] = [6793,6324,6237,5790.99,5357.1,5032,4681,3800,3863.9,3366.79,3167.66,2778,2359,2250,2170,2112]
ystring[1] = [6473,5933,5850,5429.93,4993.17,4725,4459,3576,3645.18,3119.25,2936.96,2608,2197,2092,2017,1948]
ystring[2] = [15157,12965,12591,11460.19,10993.92,10934,9662,7801,7471.25,6584.93,5833.95,5576,4145,4154,4348,4288]
ystring[3] = [12914,11826,12997,12306.41,12327.28,11406,10608,8378,8667.02,8052.78,6922.52,5744,4196,4336,4588,4751]
ystring[4] = [9566,9817,9777,9020.91,8488.21,7747,6871,5886,5773.83,5246.62,5021.75,3884,3675.14,3488.57,3273.53,3260.38]
ystring[5] = [4845,5177,4907,4305.73,4182.11,4099,3671,3219,3351.44,3131.31,2829.35,2235,2240.74,1918.83,2033.08,1864.37]
ystring[0].reverse()
ystring[1].reverse()
ystring[2].reverse()
ystring[3].reverse()
ystring[4].reverse()
ystring[5].reverse()
ystring[0] = tuple(ystring[0])
ystring[1] = tuple(ystring[1])
ystring[2] = tuple(ystring[2])
ystring[3] = tuple(ystring[3])
ystring[4] = tuple(ystring[4])
ystring[5] = tuple(ystring[5])

labels = ['Commercial housing', 'Residential commercial housing','high-end apartments', 'Office Building', 'Business housing', 'Others'] #图例标签
colors = ['#ff7f50', '#87cefa', '#DA70D6', '#32CD32', '#6495ED', '#FF69B4'] #指定颜色

# ********** Begin *********#
A_means_score = np.array(ystring[0])
B_means_score = np.array(ystring[1])
C_means_score = np.array(ystring[2])
D_means_score = np.array(ystring[3])
E_means_score = np.array(ystring[4])
F_means_score = np.array(ystring[5])

index = np.arange(16)
bar_width = 0.8#设置单个柱状图宽度
#绘制图像
plt.bar(6*index,A_means_score,bar_width,color = colors[0])
plt.bar(6*index+bar_width,B_means_score,bar_width,color = colors[1])
plt.bar(6*index+2*bar_width,C_means_score,bar_width,color = colors[2])
plt.bar(6*index+3*bar_width,D_means_score,bar_width,color = colors[3])
plt.bar(6*index+4*bar_width,E_means_score,bar_width,color = colors[4])
plt.bar(6*index+5*bar_width,F_means_score,bar_width,color = colors[5])

#设置x轴范围及其刻度属性
plt.xlim(-1,98)
plt.xticks(6*index+(bar_width+bar_width+bar_width+bar_width+bar_width)/2,xstring,rotation=45)

#设置y轴范围及其间隔
plt.ylim(1450,15300)
plt.yticks(np.arange(1450,15300,2000))
#设置图例及标题属性
plt.legend(labels,loc='upper left')
plt.title('Selling Prices of Six Types of Housing')
plt.savefig('picture/step2/fig2.png')
plt.show()
# ********** End **********#


案例代码运行结果


展开全文
• 本文实例讲述了Python实现绘制柱状图并显示数值功能。分享给大家供大家参考，具体如下：# -*- coding:utf-8 -*-#! python3import matplotlib.pyplot as pltimport mpl_toolkits.mplot3d#定义函数来显示柱状上的...
本文实例讲述了Python实现绘制双柱状图并显示数值功能。分享给大家供大家参考，具体如下：# -*- coding:utf-8 -*-#! python3import matplotlib.pyplot as pltimport mpl_toolkits.mplot3d#定义函数来显示柱状上的数值def autolabel(rects):for rect in rects:height = rect.get_height()plt.text(rect.get_x()+rect.get_width()/2.-0.2, 1.03*height, '%s' % float(height))if __name__ == '__main__':l1=[68, 96, 85, 86, 76,87, 95]l2=[85, 68, 79, 89, 94, 82,90]name=['A','B','C','D','E','F','E']total_width, n = 0.8, 2width = total_width / nx=[0,1,2,3,4,5,6]plt.rc('font', family='SimHei', size=12)#设置中文显示，否则出现乱码！a=plt.bar(x, l1, width=width, label='数学',fc = 'y')for i in range(len(x)):x[i] = x[i] + widthb=plt.bar(x, l2, width=width, label='语文',tick_label = name,fc = 'r')autolabel(a)autolabel(b)plt.xlabel('学生')plt.ylabel('成绩')plt.title('学生成绩')plt.legend()plt.show()运行结果：希望本文所述对大家Python程序设计有所帮助。
展开全文
• 如下代码： #导入扩展包 import matplotlib.pyplot as plt ...#设置柱状图的宽度 width = 0.4 #绘图 plt.figure(figsize=(8,4)) plt.bar(x=x,height=y1,width=width,label='Data1') plt.bar(x=x+
如下代码：
#导入扩展包
import matplotlib.pyplot as plt
import numpy as np

#构造数据
y1 = [1,4,6,8,9,4,3,8]
y2 = [2,5,9,5,3,2,7,4]
x = np.arange(len(y1))

#设置柱状图的宽度
width = 0.4

#绘图
plt.figure(figsize=(8,4))

plt.bar(x=x,height=y1,width=width,label='Data1')
plt.bar(x=x+width,height=y2,width=width,label='Data2')

#添加数据标签
for x_value,y_value in zip(x,y1):
plt.text(x=x_value,y=y_value,s=y_value)

for x_value,y_value in zip(x,y2):
plt.text(x=x_value+width,y=y_value,s=y_value)

#添加图标题和图例
plt.rcParams["font.sans-serif"] = ["SimHei"]
plt.rcParams["axes.unicode_minus"] = False
plt.title('并列柱状图')
plt.legend()
plt.show()



展开全文
• import numpy as np import matplotlib.pyplot as plt import matplotlib as mpl mpl.rcParams["font.sans-serif"] = ["SimHei"] mpl.rcParams["axes.unicode_minus"] = False plt.figure(figsize=(10, 5), dpi=80...
import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl

mpl.rcParams["font.sans-serif"] = ["SimHei"]
mpl.rcParams["axes.unicode_minus"] = False

plt.figure(figsize=(10, 5), dpi=80)
index = np.arange(10)
num_noGA = [200, 200, 172, 200, 200, 201, 229, 199, 185, 214]
num_GA = [200, 200, 200, 200, 200, 200, 200, 200, 196, 204]

bar_width = 0.35
tick_label = ['NOR', 'CYC', 'IT', 'DT', 'US', 'DS', 'CIT', 'CDS', 'ITDS', 'CITDS']

plt.bar(index, num_noGA, bar_width, align="center", color="c", label="FFR-CNN&LSTM", alpha=0.5)
plt.bar(index+bar_width, num_GA, bar_width, color="b", align="center", label="FFR-CNN&LSTM-GA", alpha=0.5)
plt.hlines(200, -1, 10,color="red")

font_legend = {'family': 'Times New Roman',
'weight': 'normal',
'size': 10,
}

font_label = {'family': 'Times New Roman',
'weight': 'normal',
'size': 15,
}

plt.ylabel("Number", font_label)
plt.xlabel("Types", font_label)

plt.xticks(index+bar_width/2, tick_label)
plt.xlim(-0.7, 10)
plt.ylim(0, 300)

plt.legend(prop=font_legend)

plt.tick_params(labelsize=13)
plt.savefig('GA.jpg')
plt.show()



展开全文
• 主要介绍了python使用matplotlib绘制柱状图的方法教程，其中实现的柱状图效果包括基本的柱状图、堆叠柱状图、并列柱状图、条形图以及柱状图的各种样式设置，需要的朋友可以参考借鉴，下面来一起看看吧。
• 这种图形包含了数据的对比（并列柱状图），还可以表示严重度（折线图），最后还能清晰地将对应的数据展示出来（数据图表），整体图形呈现了很丰富的信息，使用python制作的图形如下 2 数据准备 需要知道每年的事故...
• 文章目录柱状图一个简单柱状图改变其颜色设置标签堆叠柱状图横向条形图并列柱状图饼状图简单饼状图一块饼图到中心距离设置颜色显示百分比 柱状图 一个简单柱状图 import matplotlib.pyplot as plt num_list=[1,5,6.5...
• 今天呢，咱们来看看柱状图相关的内容，来聊聊如何在Python绘制带误差棒的并列柱状图和堆积柱状图 。 好啦，咱们就正式开始吧！ 首先，聊聊如何在Python绘制带误差棒的并列柱状图 绘制柱状图需要调用matplotlib库...
• Python - Matplotlib - 柱状图 Matplotlib 是一个用于在 Python绘制数组的图形库 下面代码可以直接在python环境下运行 目录 例子1： 如何生成一个柱状图 plt.bar() 函数 官方文档 例子2：如何控制柱状图的...
• 文章目录折线图并列柱状图箱线图堆积折线图三维曲面图 折线图 首先是最简单的折线图，每条线的color都是黑色，用linestyle加以区分，linestyle可以选择"-"、"–"、"-."、":“或”"。另外，坐标轴刻度、坐标轴名称、...
• 3.1柱状图 柱状图主要应用在定性数据的可视化场景里面，或者是分类特征的分布展示，那么由柱状图衍生出来的图形还有堆积柱状图，多数据并列柱状图 3.2条形图 ...
• 为了完成本关任务，你需要掌握绘制堆积（并列柱状图绘制堆积柱状图 bar函数调用方式如下所示： matplotlib.pyplot.bar(x, height, width=0.8, bottom=None, *, align='center', data=None, **kwargs) 要想...
• 2.应用matplotlib第三方库进行频率直方图、柱状图、并列柱状图绘制，Matplotlib官网； 3.组合数据类型的使用（列表、集合、字典） 4.控制结构与函数的使用 目录前言一、多重索引模块二、排序模块三、学生信息统计...

python 订阅