matplotlib的使用

2021/5/9 18:30:29

本文主要是介绍matplotlib的使用,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

numpy知识转到numpy笔记

jupyter中matplotlib图表显示中文

plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号

基本用法

# 基本用法
x = np.linspace(-1, 1, 50)
y1 = 2 * x + 1
y2 = x ** 2
plt.plot(x, y1) # 画线性图片
plt.plot(x, y2, color='red', linewidth='5', linestyle='--')
plt.show()

在这里插入图片描述

坐标轴的设置

# 坐标轴的设置
x = np.linspace(-1, 1, 50)
y1 = 2 * x + 1
y2 = x ** 2

plt.plot(x, y1) # 画线性图片
plt.plot(x, y2, color='red', linewidth='5', linestyle='--')

# 设置坐标轴的取值范围
plt.xlim(-1, 2)
plt.ylim(-2, 3)

# 设置坐标轴名称
plt.xlabel("x label")

# 设置坐标轴的角标
new_x_ticks = np.linspace(-1, 2, 5)
plt.xticks(new_x_ticks)
new_y_ticks = np.linspace(-3, 3, 6)
plt.yticks(new_y_ticks)

# 将角标换为对应描述,需要一一对应
d = {"bad" : -3, "normal" : 1.5, "good" : 2, "really good" : 3}
plt.yticks(list(d.values()), list(d.keys()))

plt.show()

在这里插入图片描述

设置坐标轴位置

# 设置坐标轴的位置
x = np.linspace(-1, 1, 50)
y1 = 2 * x + 1
y2 = x ** 2

plt.plot(x, y1) # 画线性图片
plt.plot(x, y2, color='red', linewidth='5', linestyle='--')

# gca = get current axis
# 默认坐标轴left top right bottom
ax = plt.gca()
ax.spines['top'].set_color('none') # 不显示顶部轴
ax.spines['right'].set_color('none') # 不显示顶部轴

# 根据数值定位坐标轴位置,x轴的位置数值为y轴上的数值
ax.spines['bottom'].set_position(('data', 0)) 
ax.spines['left'].set_position(('data', 0))

plt.show()

在这里插入图片描述

图例设置

# 图例的设置
x = np.linspace(-1, 1, 50)
y1 = 2 * x + 1
y2 = x ** 2

plt.plot(x, y1, label='line1') # 画线性图片
plt.plot(x, y2, color='red', linewidth='5', linestyle='--', label='line2')

plt.legend(loc='best') # 自动找最佳位置放置图例

plt.show()

在这里插入图片描述

散点图

# 散点图
y = np.random.randint(0, 100, 300)
plt.scatter(range(1, 301), y, s=5, c='red')
# s设置点的大小,c设置颜色

在这里插入图片描述

柱状图

# 柱状图
np.random.seed(1)
y = np.random.randint(0, 20, 10)

plt.bar(np.arange(10), y, facecolor='pink', edgecolor='black')
# facecolor设置条形的颜色
# edgecolor设置条形边框颜色

# 显示数值
for i in range(len(y)) :
    plt.text(i, y[i], y[i], ha='center')
    # 前两个参数表述显示数值的坐标
    # 第三个参数表示要显示的数值
    # ha设置水平居中方式

在这里插入图片描述

一张图显示多个图表

# 多图显示, 一图多图
plt.subplot2grid((2, 2), (0, 0), colspan=2)
# 第一个参数表示分割为2*2的4个小快
# 第二个参数表示当前图片的位置(坐标)
# 第三个参数表示图片的跨度,colspan跨列,rowspan跨行
plt.plot([0, 1], [0, 4])

plt.subplot2grid((2, 2), (1, 0))
plt.scatter([0,1], [1, 3], c='red')

plt.subplot2grid((2, 2), (1, 1))
plt.bar([0,1], [1, 3])

在这里插入图片描述


持续更新…



这篇关于matplotlib的使用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程