matplotlib第七天:学习如何绘制条形图

136 阅读3分钟

大家好,今天我将分享如何使用matplotlib绘制条形图。

昨天回顾:

1.matplotlib四种方法表示颜色的方法。

2.摆放图例的位置。

3.绘制直线图

忘了的可以回顾一下第六天的内容:matplotlib第六天:在matplotlib有四种常见表示颜色的方法,你知道几种呢? - 掘金 (juejin.cn)

好的,那么我们现在开始进入正题:

import matplotlib.pyplot as plt

import numpy as np

# 准备数据

x = [2020, 2025, 2030,2035]

plt.rcParams['font.family'] = ['simHei']

x_labels=[f"{i}年" for i in x]

y = [1000,3000,4000,5000]

plt.bar(x,y,width=3)

plt.xticks(x,x_labels)

plt.xlabel("年份")

plt.ylabel("销量")

plt.title("根据年份销量对比图")

# 显示图形

plt.show()

Image.png

接下来我会对代码进行一一解释:

import matplotlib.pyplot as plt
import numpy as np

1.导入 matplotlib 库和 numpy 库,分别将其命名为 plt, np

x = [2020, 2025, 2030,2035]
plt.rcParams['font.family'] = ['simHei']
x_labels=[f"{i}年" for i in x]
y = [1000,3000,4000,5000]
plt.xlabel("年份")
plt.ylabel("销量")
  • x和y是我准备的一些数据。

  • 现在我们来复习一下第二行代码:plt.rcParams['font.family'] = ['simHei'],这行代码是为了解决中文乱码问题。

  • x_labels=[f"{i}年" for i in x]这行代码为列表推导式,通过使用for循环生成["2010年", "2011年", "2012年", "2013年"]

  • plt.xlabel("年份")plt.ylabel("销量")这两行代码的意思将是x轴的标签设置为年份,将y轴的标签设置为销量。

2.plt.bar(x,y,width=3)这行代码的意思就是绘制一个条形图,每一条的宽度为3.

3.plt.title("根据年份销量对比图")这行代码就是给这个条形图写一个标题。

4.最后使用plt.show()将条形图表示出来即可。

那有竖着的条形图有没有横着的条形图呢?

答案是:有的。

接下来我们就来学习如何绘制横着的条形图。

import matplotlib.pyplot as plt

import numpy as np

# 准备数据

x = [2020, 2025, 2030, 2035]

plt.rcParams['font.family'] = ['simHei']

x_labels = [f"{i}年" for i in x]

y = [1000, 3000, 4000, 5000]

# 绘制水平条形图

plt.barh(x, y, height=2)  # 使用barh函数绘制水平条形图,调整height参数来设置条形的宽度

plt.yticks(x, x_labels)  # 将x轴刻度设置为年份

plt.xlabel("销量")  # x轴标签

plt.ylabel("年份")  # y轴标签

plt.title("根据年份销量对比图")  # 图形标题

# 显示图形

plt.show()

Image.png

大家发现了没有,其实这段代码和上面那个绘制竖着的条形图只有一行代码不一样。没错! 就是这条:

plt.barh(x, y, height=2)

我们只需要在bar后面加个h就行了.

现在让我们总结一下如何绘制条形图:

重中之重就是这行代码:

plt.bar(x,y,width=3)

和这行代码:

plt.bar(x,y,width=3)

只需要记住bar是横着的条形图,在后面加hbarh是竖着的条形图。

下面我们来对今天所学的知识进行小结:

  • 我们今天学习绘制了两种条形图。
  • 复习了解决中文乱码的问题。

好了,今天就讲到这里了,希望与各位一起学习数据分析,有问题可以在评论区提问,我非常愿意与大家一同探讨!