Python matplotlib 的使用进行了总结注释,学习内容来自B站up主莫烦Python,推荐!!!
Python matplotlib可视化分析(二)- 图例 注解Annotation
Python matplotlib可视化分析(三)- 散点图 柱状图 等高线图
Python matplotlib可视化分析(四)- 3D图像
Python matplotlib可视化分析(五)- subplot gridspec subplots twinx twiny
Python matplotlib可视化分析(六)- Animation 动画
代码:
import matplotlib.pyplot as plt
import numpy as np
# 最简单的画图
x = np.linspace(-1, 1, 50)
y = 2*x + 1
plt.plot(x, y)
plt.show()
# figure图像,输出多张图像
x = np.linspace(-3, 3, 50)
y1 = 2*x + 1
y2 = x**2
plt.figure()
plt.plot(x, y1)
# num用于说明输出的图片的编号,figsize用于改变输出图像的大小
plt.figure(num=3, figsize=(8, 5))
plt.plot(x, y2)
# 两个plot将两条线显示在一个图中,参数(x,y,颜色,线宽度,线类型)
plt.plot(x, y1, color='red', linewidth=1.0, linestyle='--')
plt.show()
# 修改坐标轴标度
x = np.linspace(-3, 3, 50)
y1 = 2*x + 1
y2 = x**2
plt.figure()
plt.plot(x, y2)
plt.plot(x, y1, color='red', linewidth=1.0, linestyle='--')
plt.xlim(-1, 2) # 设置坐标轴的取值范围
plt.ylim(-2, 3)
plt.xlabel('I am x') # 横坐标
plt.ylabel('I am y') # 纵坐标
# 换坐标轴的刻度
new_ticks = np.linspace(-1, 2, 5) # 重新设置坐标轴的取值范围
plt.xticks(new_ticks)
# 将坐标轴的数字对应成字符串输出
# plt.yticks([-2, -1, 0, 1, 2],['really bad', 'bad', 'normal', 'good', 'really good'])
# 生成一种更好看的形式的字体,中间的空格用转义字符的形式表示,可以将坐标轴转化成数学符号
plt.yticks([-2, -1, 0, 1, 2], [r'$\alpha$', r'$\beta$', r'$normal$', r'$good$', r'$really\ good$'])
# 坐标轴包含中文
# plt.yticks([-2, -1, 0, 1, 2], [r'$\alpha$', r'$\beta$', r'$normal$', r'$good$', r'中国'], fontproperties='FangSong')
plt.show()
# 移动坐标轴的位置
x = np.linspace(-3, 3, 50)
y1 = 2*x + 1
y2 = x**2
plt.figure()
plt.plot(x, y2)
plt.plot(x, y1, color='red', linewidth=1.0, linestyle='--')
plt.xlim(-1, 2) # 设置坐标轴的取值范围
plt.ylim(-2, 3)
plt.xlabel('I am x')
plt.ylabel('I am y')
new_ticks = np.linspace(-1, 2, 5)
plt.xticks(new_ticks)
plt.yticks([-2, -1, 0, 1, 2], [r'$\alpha$', r'$\beta$', r'$normal$', r'$good$', r'$really\ good$'])
# gca = 'get current axis'
ax = plt.gca()
ax.spines['right'].set_color('None') # 将图片的右框隐藏
ax.spines['top'].set_color('None') # 将图片的上边框隐藏
ax.xaxis.set_ticks_position('bottom') # 将原来的底部作为x轴
ax.yaxis.set_ticks_position('left') # 将原来的左边作为y轴
# 接下来挪动坐标轴的位置
ax.spines['bottom'].set_position(('data', 0)) # x轴出现在y轴的-1 位置
ax.spines['left'].set_position(('data', 0))
plt.show()
输出结果: