个人笔记——数据分析·Python·Matplotlib

Matplotlib

基本使用

例1

# 导入模块
import matplotlib.pyplot as plt
#传入x,y值
plt.plot([x坐标], [y坐标], color等属性设置)
#如plt.plot([1, 2, 3], [4, 5, 6])
#展示图形
plt.show()

例2

from matplotlib import pyplot as plt
x = range(1, 8)
y = [10, 15, 12, 16, 7, 14, 18]
plt.plot(x, y, color='red', alpha=0.1, linestyle='--', linewidth=3)
plt.show()

在这里插入图片描述
例3:保存图片

from matplotlib import pyplot as plt
import random
x = range(2, 26, 2)
y = [random.randint(5, 15) for i in x]

#设置图片大小
plt.figure(figsize=(20, 8), dpi=80)

#画图
plt.plot(x, y)

#保存(如要保存图片,不能在保存前是用plt.show(),否则会释放figure资源,保存为空白图片)
plt.savefig('./test.png')  # 也可以保存为.svg格式,即矢量图

例4:设置刻度

from matplotlib import pyplot as plt
import random
x = range(2, 26, 2)
y = [random.randint(5, 15) for i in x]

#设置图片大小
plt.figure(figsize=(20, 8), dpi=80)

#设置x轴刻度
#plt.xticks(x)

#设置y轴刻度
#plt.yticks(range(min(y), max(y)+1))

#构造x轴刻度标签
x_ticks_label = ["{}:00".format(i) for i in x]
plt.xticks(x, x_ticks_label, rotation = 45)

#构造y轴刻度标签
y_ticks_label = ["{}℃".format(i) for i in range(min(y), max(y)+1)]
plt.yticks(range(min(y), max(y)+1), y_ticks_label)

#绘图
plt.plot(x, y)
plt.show()

在这里插入图片描述例5:设置显示中文

from matplotlib import pyplot as plt
from matplotlib import font_manager
import matplotlib
import random

x = range(0, 120)
y = [random.randint(10, 30) for i in x]

plt.figure(figsize=(20, 8), dpi=80)
plt.plot(x, y)

my_font = font_manager.FontProperties(fname='C:\Windows\Fonts\simhei.ttf', size=18)

plt.xlabel('时间', fontproperties=my_font, rotation=45)
plt.ylabel('次数', fontproperties=my_font)

#设置标题
plt.title('每分钟跳动次数', fontproperties=my_font, color='red')

plt.show()

在这里插入图片描述例6:一图多线

from matplotlib import pyplot as plt
from matplotlib import font_manager
import random
x = range(11,31)
y1 = [random.randint(0, 6) for i in x]
y2 = [random.randint(0, 6) for i in x]

plt.figure(figsize=(20, 8), dpi=80)

plt.plot(x, y1, color='red', label='自己')
plt.plot(x, y2, color='green', label='同事')

xtick_labels = ['{}岁'.format(i)  for i in x]

my_font = font_manager.FontProperties(fname='C:\Windows\Fonts\simhei.ttf', size=18)

plt.xticks(x, xtick_labels, fontproperties=my_font, rotation=45)

plt.xlabel('年龄', fontproperties=my_font)
plt.ylabel('女友数', fontproperties=my_font)

#绘制网格
plt.grid(alpha=0.4)

#添加图例
plt.legend(prop=my_font, loc='upper right')

plt.show()

在这里插入图片描述例7:散点图

from matplotlib import pyplot as plt
from matplotlib import font_manager
import random

x = range(1, 32)
y = [random.randint(6, 28) for i in x]

plt.figure(figsize=(20, 8), dpi=80)

#绘制散点图
plt.scatter(x, y, label='3月份')

my_font = font_manager.FontProperties(fname='C:\Windows\Fonts\simhei.ttf', size=18)

xticks_labels = ["3月{}日".format(i) for i in x]
plt.xticks(x, xticks_labels, fontproperties=my_font, rotation=45)
plt.xlabel('日期', fontproperties=my_font)
plt.ylabel('温度', fontproperties=my_font)

#图例
plt.legend(prop=my_font)
plt.show()

在这里插入图片描述例8:柱状图

from matplotlib import pyplot as plt
from matplotlib import font_manager
import random

movie_name = ['A', 'B', 'C', 'D', 'E']
y = [random.randint(1000, 4000)/100 for i in movie_name]

plt.figure(figsize=(20, 8), dpi=80)

my_font = font_manager.FontProperties(fname='C:\Windows\Fonts\simhei.ttf', size=18)

#绘制条形图
result = plt.bar(movie_name, y, width=0.3, color=['r', 'g', 'b', 'r', 'g'])

plt.xticks(range(len(movie_name)), movie_name, fontproperties=my_font)
plt.yticks(range(0, 41, 5), range(0, 41, 5))

#在条形图上加标注(水平居中)
for item in result:
    height = item.get_height()
    plt.text(item.get_x() + item.get_width()/2, height+0.3, str(height), ha='center')
	#获取x值+1/2宽度
plt.show()

在这里插入图片描述

Matplotlib图像结构

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值