matplotlib学习

matplotlib学习

提示:本文按照作者的个人见解完成,不代表观点的正确;如有侵权,请联系作者删除。
参考资料:

https://www.bilibili.com/video/BV1hx411d7jb?p=13&spm_id_from=pageDriver

文章目录

  • matplotlib学习
  • 一、简单用法
    • 1.折线图
    • 2.散点图
    • 3.柱状图
    • 4.直方图


一、简单用法

1.折线图

import matplotlib.pyplot as plt
import numpy as np
import matplotlib

# 设置字体方式
matplotlib.rc('font', family='MicroSoft YaHei', weight='bold')
# 实例化一个figure并传递参数,dpi参数表示每英寸像素个数可以提高清晰度
fig = plt.figure(figsize=(20, 8), dpi=80)

x = range(0, 120)
y = [np.random.randint(20, 30) for i in range(120)]
z = [np.random.randint(22, 34) for i in range(120)]
plt.plot(x, y, label='北京', color='#F08080', linestyle='--', linewidth=5)
plt.plot(x, z, label='上海', color='cyan', linestyle='-.', linewidth=5)

# 设置x轴刻度
x1 = range(0, 121)
x1tick_labels = ['10点{}分'.format(i) for i in range(60)]
x1tick_labels += ['11点{}分'.format(i) for i in range(61)]
# plt.xticks(range(0,120))
# plt.xticks(x1[::3])
# 取步长,数字和字符串一一对应保持长度一致
plt.xticks(x1[::6], x1tick_labels[::6], rotation=60)  # rotation旋转角度
plt.yticks(range(20, 35, 2))
# 添加描述信息
plt.xlabel('时间')
plt.ylabel('温度')
plt.title('气温变化情况')

# 绘制网格
plt.grid(alpha=0.4)  # alpha透明度
# 添加图例
plt.legend(loc='upper left')
# 图片保存设置
# plt.savefig('./wendu.jpg')
plt.show()

matplotlib学习_第1张图片

2.散点图

# 绘制散点图
fig1 = plt.figure(figsize=(20, 8), dpi=80)
plt.scatter(x, y, label='北京', )
plt.scatter(x, z, label='上海', )
plt.legend(loc='upper left')
plt.show()

matplotlib学习_第2张图片

3.柱状图

# 绘制条形图
fig2 = plt.figure(figsize=(20, 8), dpi=80)
a = ['A', 'B', 'C', 'D']
b1 = [12, 15, 24, 36]
b2 = [31, 22, 43, 12]
b3 = [16, 26, 34, 21]
bar_width = 0.2
c1 = list(range(len(a)))
c2 = [i + bar_width for i in c1]
c3 = [i + bar_width * 2 for i in c1]
plt.bar(c1, b1, width=bar_width, label='第一天')
plt.bar(c2, b2, width=bar_width, label='第二天')
plt.bar(c3, b3, width=bar_width, label='第三天')
plt.legend()
plt.xticks(c2,a)
plt.show()

matplotlib学习_第3张图片

4.直方图

# 绘制直方图
fig3= plt.figure(figsize=(20, 8), dpi=80)
num = np.random.randint(1,200,size=250)
# 计算组数
d = 6
num_bins = round((max(num)-min(num))/d)
plt.hist(num,num_bins)
# 设置x轴的宽度
plt.xticks(range(min(num),max(num)+d,d))
plt.grid()
plt.show()

matplotlib学习_第4张图片

你可能感兴趣的:(python,python,可视化)