**matplotlib.pyplot.bar(x,height,width:float=0.8,botton=None,*,align:str=‘center’,data=None,kwargs)
创建示例:
x=range(5)
data=[5,20,15,25,10]
#设置标题
plt.title("基本柱状图")
#设置网格
plt.grid(ls="--",alpha=0.5)
#bar绘制柱状图,x表示x坐标,data表示柱状图的高度,设置颜色循环红绿蓝
plt.bar(x,data,bottom=[10,20,5,0,10],color=['r','g','b'])
#国家
countries=['挪威','德国','中国','美国','瑞典']
#金牌个数
gold_medal=[16,12,9,8,8]
#银牌个数
silver_medal=[8,10,4,10,5]
#铜牌个数
bronze_medal=[13,5,2,7,5]
#1.将x轴转换为数值
x=np.arange(len(countries))
print(x)
#2.设置图形的宽度
width=0.2
#设置金银铜牌位置
gold_x=x
silver_x=x+width
bronze_x=x+2*width
#绘图
plt.bar(gold_x,gold_medal,width=width,color="gold")
plt.bar(silver_x,silver_medal,width=width,color="silver")
plt.bar(bronze_x,bronze_medal,width=width,color="saddlebrown")
#将标签居中,并显示国家名字(中文)
plt.rcParams["font.sans-serif"]=["SimHei"]
plt.xticks(x+width,labels=countries)
#显示高度文本
for i in range(len(countries)):
plt.text(gold_x[i],gold_medal[i],gold_medal[i],va="bottom",ha="center")
plt.text(silver_x[i],silver_medal[i],silver_medal[i],va="bottom",ha="center")
plt.text(bronze_x[i],bronze_medal[i],bronze_medal[i],va="bottom",ha="center")
**plt.barh(y,width,height=0.8,left=None,*,align=‘center’,kwargs)
例子:
#绘制一个关于10月动漫热度(并非真实数据)的水平堆叠图
anime=['死神','间谍过家家','电锯人','暗影大人']
#第一天
real_day1=np.array([300,2600,240,100])
#第二天
real_day2=np.array([3100,350,370,190])
#第三天
real_day3=np.array([390,310,2900,290])
#第四天
real_day4=np.array([300,300,280,2700])
#确定宽度
left_day2=real_day1
left_day3=real_day1+real_day2
left_day4=real_day1+real_day2+real_day3
#绘制图形
plt.barh(anime,real_day1)
plt.barh(anime,real_day2,left=left_day2)
plt.barh(anime,real_day3,left=left_day3)
plt.barh(anime,real_day4,left=left_day4)
#设置数值文本
sum_data=real_day1+real_day2+real_day3+real_day4
for i in range(len(anime)):
plt.text(sum_data[i],anime[i],sum_data[i],va="center",ha="left")
#直方图
#创建一个画布
fig,ax=plt.subplots()
x_value=np.random.randint(140,190,300)
#绘制直方图
num,bins_limit,patches=plt.hist(x_value,bins=10,edgecolor='white')
#添加折线图
ax.plot(bins_limit[:10],num,'--',marker='o')
pyplot.pie(x,explode=None,laabels=None,colors=None,autopct=None)
例子:
##饼状图
#设置大小
plt.rcParams['figure.figsize']=(5,5)
#定义饼的标签
labels=['娱乐','育儿','饮食','房贷','交通','其他']
#每个标签所占的数量
x=[200,500,1200,700,200,900]
plt.title=("支出情况")
#绘制饼图
plt.pie(x,labels=labels,autopct='%.2f%%')
x=np.random.rand(50)
y=np.random.rand(50)
s=(10*np.random.rand(50))**2
colors=np.random.rand(50)
plt.scatter(x,y,s,c=colors)
x=np.array([1,2,3,4,5,3,4,3,2,4,5,5]).reshape(3,4)
print(x)
plt.boxplot(x,showmeans=True,meanline=True)
plt.grid()
plt.show()