Python:数据可视化库matplotlib多种图表绘制教程

hello,大家好,我是wangzirui32,今天来教大家如何利用数据可视化库matplotlib绘制多种图表。
开始学习吧!

学习目录

  • 1. 安装matplotlib
  • 2. 折线图
  • 3. 散点图
  • 4. 柱形图
  • 5. 条形图
  • 6. 气泡图
  • 7. 绘制面积图
  • 8. 绘制饼图
  • 9. 热力图

1. 安装matplotlib

输入pip安装指令:

pip install matplotlib

没有报错即安装成功。

2. 折线图

先来看一个最最最简单的例子:绘制折线统计图。代码如下:

import matplotlib.pyplot as plt

input_numbers = [1, 2, 3, 4, 5] # X轴数值
numbers = [10, 20, 30, 40, 50]  # Y轴数值

# 传入数字列表 设置线条宽度为5
plt.plot(input_numbers, numbers, linewidth=5)

# 设置标题 设置字体大小
plt.title("maplotlib-test", fontsize=24)
# 设置X,Y轴说明文字 并设置字体大小
plt.xlabel("X", fontsize=14)
plt.ylabel("Y", fontsize=14)

# 保存图表 bbox_inches='tight'将图表的多余空白部分去除
plt.savefig("折线统计图.png", bbox_inches='tight')

# 展示图表
plt.show()

运行代码,保存的图表如下:
Python:数据可视化库matplotlib多种图表绘制教程_第1张图片
可以看到,标题,XY轴的说明都正确的显示了出来。

3. 散点图

import matplotlib.pyplot as plt

x_values = [1, 2, 3, 4, 5]
y_values = [5, 10, 15, 20, 25]

# 传入点的x,y参数 设置点的大小为100
plt.scatter(x_values, y_values, s=100)

# 绘制图表说明参数
plt.title("maplotlib-test2", fontsize=24)
plt.xlabel("X", fontsize=14)
plt.ylabel("Y", fontsize=14)

# 保存并展示
plt.savefig("散点图.png", bbox_inches='tight')
plt.show()

运行代码,结果如下图:
Python:数据可视化库matplotlib多种图表绘制教程_第2张图片

4. 柱形图

代码:

import matplotlib.pyplot as plt

# 柱形图参数
names = ["Bar 1", "Bar 2", "Bar 3"]
values = [1000, 2000, 3000]

# 传入参数 width=0.5设置柱形宽度 lable="numbers"设置此统计图的名称
plt.bar(names, values, width=0.5, label="numbers")

# 绘制图表说明参数 loc="center"将标题文字居中
plt.title("maplotlib-test3", loc="center")
plt.xlabel("Bar", fontsize=14)
plt.ylabel("Values", fontsize=14)

# 保存并展示
plt.savefig("柱形图.png", bbox_inches='tight')
plt.show()

保存的图表:
Python:数据可视化库matplotlib多种图表绘制教程_第3张图片

5. 条形图

import matplotlib.pyplot as plt

# 条形图参数
names = ["Barh 1", "Barh 2", "Barh 3"]
values = [1000, 2000, 3000]

"""
plt.barh 传入参数:
lable="numbers"设置此统计图的名称
color="red"设置条形图的颜色
edgecolor="blue"设置条形图边缘的颜色
这些参数同样适用于plt.bar(柱形统计图)方法
"""
plt.barh(names, values, label="numbers", color="red", edgecolor="blue")

# 绘制图表说明参数
plt.title("maplotlib-test4", loc="center")
plt.xlabel("Bar", fontsize=14)
plt.ylabel("Values", fontsize=14)

# 保存并展示
plt.savefig("条形图.png", bbox_inches='tight')
plt.show()

图表:
Python:数据可视化库matplotlib多种图表绘制教程_第4张图片

6. 气泡图

生成气泡图的函数和生成散点图的函数一样,只不过修改了每个点的大小,代码:

import matplotlib.pyplot as plt

# 气泡图参数
x_values = [5, 20, 50]
y_values = [10, 40, 100]

"""
这段代码使用了Python内部的一种语法,
其意思是:
用x变量遍历x_values的每一个列表项,
每次将x*10的值加入area列表
"""
area = [x*10 for x in x_values]

# s=area 设置每个点的大小 可为列表 可为数字
plt.scatter(x_values, y_values, s=area)

# 绘制图表说明参数
plt.title("maplotlib-test5", loc="center")
plt.xlabel("X", fontsize=14)
plt.ylabel("Y", fontsize=14)

# 保存并展示
plt.savefig("气泡图.png", bbox_inches='tight')
plt.show()

结果如下图:
Python:数据可视化库matplotlib多种图表绘制教程_第5张图片

7. 绘制面积图

面积图是与折线图类似的一种图表,代码:

import matplotlib.pyplot as plt

# 面积图参数
x_values = [1, 2, 3, 4, 5]
y_values = [20, 40, 60, 80, 100]
y2_values = [5, 10, 15, 20, 25]

"""
labels=['Y_values', 'Y2_values']
设置两个y列表的标识
"""
plt.stackplot(x_values, y_values, y2_values, labels=['Y_values', 'Y2_values'])

# 绘制图表说明参数
plt.title("maplotlib-test6", loc="center")
plt.xlabel("X", fontsize=14)
plt.ylabel("Y", fontsize=14)

# 保存并展示
plt.savefig("面积图.png", bbox_inches='tight')
plt.show()

结果如下图:
Python:数据可视化库matplotlib多种图表绘制教程_第6张图片

8. 绘制饼图

import matplotlib.pyplot as plt

# 饼图图参数
labels = ['Pie 1', 'Pie 2', 'Pie 3', 'Pie 4']
x_values = [1000, 2000, 3000, 4000]
# 第三块离圆心远一些
explode = [0, 0, 0.1, 0]

"""
radius=1.0 设置饼图半径
labeldistance=1.1 每一块索引与中心的距离
"""
plt.pie(x_values, labels=labels, explode=explode, radius=1.0, labeldistance=1.1)

# 绘制图表说明参数
plt.title("maplotlib-test7", loc="center")

# 保存并展示
plt.savefig("饼图.png", bbox_inches='tight')
plt.show()

结果:
Python:数据可视化库matplotlib多种图表绘制教程_第7张图片
可以看到,第三块“饼”离圆心远了一些。

9. 热力图

热力图的绘制稍微复杂亿点,代码:

import matplotlib.pyplot as plt

# 热力图参数
# 3x3的热力图
data = [[1.00, 0.90, 0.20],
        [0.45, 0.56, 0.35],
        [0.13, 0.67, 1.00]]
classes = ['class 1', 'class 2', 'class 3']

cmap = plt.cm.cool # plt提供的配色方案
plt.imshow(data, cmap=cmap)
plt.colorbar() # 显示右边的颜色条

# 绘制图表标题
plt.title("maplotlib-test8", loc="center")
"""
这两个方法是用来将x和y轴设置为自己想要的内容,
这里我们设置为classes。
前面的[0, 1, 2]是修改的位置列表,
也可以使用list(range(len(classes)))生成位置列表。
"""
plt.xticks([0, 1, 2], classes)
plt.yticks([0, 1, 2], classes)

# 保存并展示
plt.savefig("热力图.png", bbox_inches='tight')
plt.show()

结果:
Python:数据可视化库matplotlib多种图表绘制教程_第8张图片


好了,今天的课程就到这里,感兴趣的可以点赞收藏,我是wangzirui32,我们下次再见!

你可能感兴趣的:(Python模块介绍使用,Python,python,数据可视化)