怎么用python绘制柱状图_Python笔记:用matplotlib绘制柱状图

matplotlib是Python中最基本的绘图库,而柱状图又是使用频率较高的可视化图形。下面我就在有pyecharts库和R语言,echarts绘图经验的基础上,简单得摸索一下用matplotlib绘制柱状图的方法。代码如下:

# 导入相关的库

import pandas as pd

import numpy as np

import matplotlib.pyplot as plt

# 在线显示

%matplotlib inline

# 定义画布的大小

fig = plt.figure(figsize = (15,8))

# 添加主标题

plt.title("各品牌汽车的销量")

# 设置X周与Y周的标题

# plt.xlabel("品牌")

# plt.ylabel("销量")

# 显示网格线

# plt.grid(True)

# 设置 x轴 数据

x = np.array(["宝马","奔驰","奥迪","马自达","大众","布加迪","兰博基尼","法拉利","本田","丰田"])

# 设置 y轴 数据

y = np.array([1000,800,600,400,300,250,150,100,80,50])

# 直接绘制简单的柱状图

# plt.bar(x,y)

# 绘制柱状图,并把每根柱子的颜色设置为洋红色

# plt.bar(x,y,color = "m")

# 绘制柱状图,并把每根柱子的颜色设置为洋红色,顺便设置每根柱子的宽度

# plt.bar(x,y,color = "m",width = 0.6)

# 绘制柱状图,并给每根柱子的颜色根据自己的喜好来自定义

plt.bar(x,y,color = ["red","yellow","green","blue","black","gold","pink","purple","violet","Chocolate"])

# 保存输出绘制的图形到指定的路径中

plt.savefig(r"C:\Users\QDM\Desktop\car.png")

运行结果①:

# 直接绘制简单的柱状图

plt.bar(x,y)

up-dcd80b3a61e1779d0df374561870d7072a3.png

运行结果②:

# 绘制柱状图,并把每根柱子的颜色设置为洋红色

plt.bar(x,y,color = "m")

up-5092b1a524af4a58ebb93a635c2cc252767.png

运行结果③:

# 绘制柱状图,并把每根柱子的颜色设置为洋红色,顺便设置每根柱子的宽度

plt.bar(x,y,color = "m",width = 0.6)

up-4512315d782659d3ea5b67bb84437d243a7.png

运行结果④:

# 绘制柱状图,并给每根柱子的颜色根据自己的喜好来自定义

plt.bar(x,y,color = ["red","yellow","green","blue","black","gold","pink","purple","violet","Chocolate"])

up-a696dc1ba1145057fab78cd00f7a1f28e2c.png

另外,我们一般将纵向的称为“柱型图”,而横向的成为“柱状图”。两者的共同点是用于相同实物的量之对比,不同点是柱型图一般用于表示较少对象之间的对比,但如果需要对比的条目较多的话,还用柱型图就会使画面有一种拥挤不堪的感觉。这时,我们就需要用到另一种“柱型图”——柱状图(横向)。

其实在matplotlib中,要绘制柱形图也非常简单,只需把bar()参数改为barh()即可,如下:

# 导入相关的库

import pandas as pd

import numpy as np

import matplotlib.pyplot as plt

# 在线显示

%matplotlib inline

# 定义画布的大小

fig = plt.figure(figsize = (15,8))

# 添加主标题

plt.title("各品牌汽车的销量")

# 设置X周与Y周的标题

# plt.xlabel("品牌")

# plt.ylabel("销量")

# 显示网格线

# plt.grid(True)

# 设置 x轴 数据

x = np.array(["丰田","本田","法拉利","兰博基尼","布加迪","大众","马自达","奥迪","奔驰","宝马"])

# 设置 y轴 数据

# 值得注意的是,参数的排列最好是排一个升序或降序,这样画出来的图形会因为比较有规律感,这样会显得比较好看一点

y = np.array([50,80,100,150,250,300,400,600,800,1000])

# 直接绘制简单的柱状图

# plt.barh(x,y)

# 绘制柱状图,并把每根柱子的颜色设置为洋红色

# plt.barh(x,y,color = "m")

# 绘制柱状图,并把每根柱子的颜色设置为洋红色,顺便设置每根柱子的宽度

# plt.barh(x,y,color = "m",width = 0.6)

# 绘制柱状图,并给每根柱子的颜色根据自己的喜好来自定义

plt.barh(x,y,color = ["red","yellow","green","blue","black","gold","pink","purple","violet","Chocolate"])

# 保存输出绘制的图形到指定的路径中

plt.savefig(r"C:\Users\QDM\Desktop\car.png")

运行结果:

up-3d2d071dcc9af4ffc7c7bbd949c25d3ec3c.png

来源:oschina

链接:https://my.oschina.net/u/3750423/blog/4326669

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值