python可视化直⽅图的x轴参数设置_Matplotlibmatplotlib可视
化柱状。。。
import matplotlib.pyplot as plt
柱状图
应⽤于⽐较分类变量的数值,例如可以⽤于展⽰⾐服裤⼦鞋⼦等商品的销售量。
主要参数介绍:
bar(left, height, width=0.8, bottom=None, **kwargs)
left为和分类数量⼀致的数值序列,序列⾥的数值数量决定了柱⼦的个数,数值⼤⼩决定了距离0点的位置
height为分类变量的数值⼤⼩,决定了柱⼦的⾼度
width决定了柱⼦的宽度,仅代表形状宽度⽽已
bottom决定了柱⼦距离x轴的⾼度,默认为None,即表⽰与x轴距离为0
事实上,left,height,width,bottom这四个参数确定了柱体的位置和⼤⼩。默认情况下,left为柱体的居中位置(可以通过align参数来改变left值的含义)
# 正常显⽰中⽂标签
# ⽤来正常显⽰负号
# 使⽤样式
plt.style.use("ggplot")
label = ["a","b","c","d","e"]
x = [0,1,2,3,4]
y = [30,20,15,25,10]
width决定了柱⼦的宽度,仅代表形状宽度⽽已,默认为0.8
fig = plt.figure()
# ⽣成第⼀个⼦图在1⾏2列第⼀列位置
ax1 = fig.add_subplot(121)
# ⽣成第⼆⼦图在1⾏2列第⼆列位置
ax2 = fig.add_subplot(122)
# 绘图并设置柱⼦宽度0.5
ax1.bar(x, y, width=0.5)
# 绘图默认柱⼦宽度0.8
ax2.bar(x, y)
plt.show()
设置x轴刻度(tick_label)⽤ label = ["a","b","c","d","e"] 显⽰
fig = plt.figure()
# ⽣成第⼀个⼦图在1⾏2列第⼀列位置
ax1 = fig.add_subplot(121)
# ⽣成第⼆⼦图在1⾏2列第⼆列位置
ax2 = fig.add_subplot(122)
# 绘图并设置柱⼦宽度0.5
ax1.bar(x, y, width=0.5)
# 绘图默认柱⼦宽度0.8,设置x轴刻度(tick_label)⽤ label = ["a","b","c","d","e"] 显⽰ax2.bar(x, y,tick_label=label)
plt.show()
bottom决定了柱⼦距离x轴的⾼度,默认为None,即表⽰与x轴距离为0
fig,ax = plt.subplots(figsize=(8,5),dpi=80)
# 设置第⼀个柱⼦离x轴 为5 ,第⼆、三、五个柱⼦不变,第四个柱⼦离x轴 为8 ax.bar(x,y,width=0.3,bottom=[5,0,0,8,0])
plt.show()
设置柱体颜⾊
通过 facecolor(或fc) 关键字参数可以设置柱体颜⾊
通过 color 关键字参数 可以⼀次性设置多个颜⾊
fig = plt.figure()
# ⽣成第⼀个⼦图在1⾏2列第⼀列位置
ax1 = fig.add_subplot(121)
# ⽣成第⼆⼦图在1⾏2列第⼆列位置
ax2 = fig.add_subplot(122)
ax1.bar(x, y, fc='c')
ax2.bar(x, y,color=['r', 'g', 'b']) # 或者color='rgb' , color='#FFE4C4'
plt.show()
设置柱体描边
相关的关键字参数为:
edgecolor 或 ec 描边颜⾊
linestyle 或 ls 描边样式
linewidth 或 lw 描边宽度
# edgecolor 或 ec 描边颜⾊为(cyan),linestyle 或 ls 描边样式 (-.), linewidth 或 lw 描边宽度(5),柱
⼦颜⾊(#EECFA1) plt.bar(x, y, ec='c', ls='-.', lw=5,color='#EECFA1')
plt.show()
设置柱体描边填充
hatch 关键字可⽤来设置填充样式,可取值为: / , \ , | , - , + , x , o , O , . , * 。
plt.bar(x, y, ec='c', ls='-.', lw=5,color='#EEDC82',hatch='*')
plt.show()
其他柱状图类型
(1)堆积柱状图
通过 bottom 参数,可以绘制堆叠柱状图。
#显⽰中⽂字体为SimHei
sale8 = [10,20,30,15,18]
sale9 = [10,12,24,32,8]
# x轴的刻度为1-5号⾐服
labels = ["{}号⾐服".format(i) for i in range(1,6)]
fig,ax = plt.subplots(figsize=(12,6),dpi=80)
ax.bar(range(len(sale8)),sale8,tick_label=labels,label="8⽉")
# 九⽉的bottom是sale8,也就是⼋⽉,所以九⽉在上边
ax.bar(range(len(sale9)),sale9,bottom=sale8,tick_label=labels,label="9⽉")
ax.legend()
plt.show()
(2)并列柱状图
matplotlib中subplot绘制并列柱状图与堆叠柱状图类似,都是绘制多组柱体,只需要控制好每组柱体的位置和⼤⼩即可。import numpy as np
#显⽰中⽂字体为SimHei
sale8 = [5,20,15,25,10]
sale9 = [10,15,25,30,5]
# x轴的刻度为1-5号⾐服
labels = ["{}号⾐服".format(i) for i in range(1,6)]
fig,ax = plt.subplots(figsize=(8,5),dpi=80)
width_1 = 0.4
ax.bar(np.arange(len(sale8)),sale8,width=width_1,tick_label=labels,label = "8⽉")
ax.bar(np.arange(len(sale9))+width_1,sale9,width=width_1,tick_label=labels,label="9⽉") ax.legend()
plt.show()
条形图
使⽤ barh ⽅法绘制条形图
plt.barh ⽅法的签名为:
barh(bottom, width, height=0.8, left=None, **kwargs)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论