Matplotlib绘图库入门(四):绘制柱状图,饼图,等高线

本文介绍了如何使用Matplotlib.pyplot库在Python中创建常见的Excel图表,包括绘制饼图展示季度销售,柱状图对比成绩,以及等高线图展示函数曲面。通过实例演示了pie、bar和contour系列函数的使用,并提供了相关链接供进一步学习。
摘要由CSDN通过智能技术生成

Matplotlib.pyplot 包含了很多excel 中包含的图形,这里介绍几个经常在excel 中绘制的图形。

*饼图

相关的函数为 pie

import matplotlib.pyplot as plt
#显示中文配置
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.style.use("ggplot")
plt.title(u"阿猫学编程 - 季度销售")
labels = u'第一季度',u'第二季度',u'第三季度',u'第四季度'
sizes = [15,30,45,10]
explode = (0,0.02,0,0) #表示将第二季度那一块凸显出来
plt.pie(sizes,explode=explode,labels=labels,autopct='%1.1f%%',shadow=False,startangle=90)

plt.axis('equal')
plt.show()

显示饼图如下:

在这里插入图片描述

柱状图

相关函数 bar

import matplotlib.pyplot as plt
#显示中文配置
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.style.use("ggplot")

#!/usr/bin/env python
# coding: utf-8

import matplotlib.pyplot as plt
import numpy as np

names = (u'小明', u'小红')
subjects = (u'语文', u'数学', u'英语')
scores = ((65, 90, 75), (85, 80, 90))

bar_width = 0.25

index = np.arange(len(scores[0]))
# 绘制「小明」的成绩
rects1 = plt.bar(index, scores[0], bar_width, color='#0072BC', label=names[0])
# 绘制「小红」的成绩
rects2 = plt.bar(index + bar_width, scores[1], bar_width, color='#ED1C24', label=names[1])
# X轴标题
plt.xticks(index + bar_width, subjects)
# Y轴范围
plt.ylim(ymax=100, ymin=0)
# 图表标题
plt.title(u'阿猫学编程 - 柱状图对比')
# 图例显示在图表下方
plt.legend(loc='upper center', bbox_to_anchor=(0.5, -0.05), fancybox=True, ncol=5)

# 添加数据标签
def add_labels(rects):
    for rect in rects:
        height = rect.get_height()
        plt.text(rect.get_x() + rect.get_width() / 2, height, height, ha='center', va='bottom')
        # 柱形图边缘用白色填充,纯粹为了美观
        rect.set_edgecolor('white')

add_labels(rects1)
add_labels(rects2)

plt.show()

显示的图表如下:

在这里插入图片描述

等高线

相关函数 contourfcontourclabel

import matplotlib.pyplot as plt
import numpy as np

# 定义等高线高度函数
def f(x, y):
    return (1 - x / 2 + x ** 5 + y ** 3) * np.exp(- x ** 2 - y ** 2)

# 数据数目
n = 256
# 定义x, y
x = np.linspace(-3, 3, n)
y = np.linspace(-3, 3, n)

# 生成网格数据
X, Y = np.meshgrid(x, y)

# 填充等高线的颜色, 8是等高线分为几部分
plt.contourf(X, Y, f(X, Y), 8, alpha = 0.75, cmap = plt.cm.hot)
# 绘制等高线
C = plt.contour(X, Y, f(X, Y), 8, colors = 'black', linewidth = 0.5)
# 绘制等高线数据
plt.clabel(C, inline = True, fontsize = 10)

plt.show()

相关参考如下:https://segmentfault.com/a/1190000004103325

更多的可以参看官网:https://matplotlib.org/api/pyplot_summary.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

go2coding

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值