matplotlib绘制折线图,散点图,条形图笔记

1、折线图

from matplotlib import pyplot as plt
import matplotlib
x=range(0,120)
y=[random.randint(20,35) for i in range(120)]
plt.figure(figsize=(20,8),dpi=80)  # 设置图片大小和清晰度
matplotlib.rc('font',family='MicroSoft YaHei',weight='bold')  # 设置字体,中文能显示(matplotlib默认不显示中文)
# 调整x的刻度
xtick_table = ['10点{}分'.format(i) for i in range(60)]
xtick_table +=['11点{}分'.format(i) for i in range(60)]
# 取步长,数字和字符串一一对应
plt.xticks(list(x)[::3],xtick_table[::3],rotation=45) # rotation设置旋转的角度
# 添加描述信息
plt.xlabel('时间')
plt.ylabel('温度 单位(℃)')
plt.title('10点到12点每分钟的气温变化情况')
plt.plot(x,y)  # 绘制
plt.show()

在这里插入图片描述

绘制一个人

from matplotlib import pyplot as plt
import matplotlib
matplotlib.rc('font',family='MicroSoft YaHei',weight='bold')
y = [1,0,1,1,2,4,3,2,3,4,4,5,6,5,4,3,3,1,1,1]
x = range(11,31)
plt.figure(figsize=(20,8),dpi = 80)
xtick_label = ('{}岁'.format(i) for i in x)
plt.xticks(list(x),xtick_label,rotation=45)
plt.xlabel('岁数')
plt.ylabel('交往人数')
plt.title('某人11岁到30岁交往朋友的人数')
plt.plot(x,y)
plt.show()

在这里插入图片描述

绘制俩个人

from matplotlib import pyplot as plt
import matplotlib
%matplotlib inline
matplotlib.rc('font',family='MicroSoft YaHei',weight='bold')
a = [1,0,1,1,2,4,3,2,3,4,4,5,6,5,4,3,3,1,1,1]
b = [2,1,4,5,3,6,2,0,1,2,3,3,5,6,1,1,1,2,2,0]
x = range(11,31)
plt.figure(figsize=(20,8),dpi = 80)
xtick_label = ('{}岁'.format(i) for i in x)
plt.xticks(list(x),xtick_label,rotation=45)
plt.xlabel('岁数')
plt.ylabel('交往人数')
plt.title('俩个人11岁到30岁交往朋友的人数')
plt.grid()   # 绘制网格
plt.plot(x,a,label='自己')  # 添加图例 改颜色color=''
plt.plot(x,b,label='同桌')
plt.legend()  # 显示图例 loc='upper left'传参显示到左上角
plt.savefig('./1.png') # 保存图片
plt.show()

在这里插入图片描述

2、散点图

from matplotlib import pyplot as plt
import matplotlib
matplotlib.rc('font',family='MicroSoft YaHei',weight='bold')
y_3 = [11,17,16,11,12,11,6,6,7,8,9,12,14,15,17,18,21,16,17,20,14,15,15,15,19,21,22,22,22,23,25]
y_10 = [26,26,28,15,15,18,17,19,16,18,25,24,25,26,18,19,26,24,25,18,19,26,19,18,19,17,24,23,22,15,14]
x_3 = range(1,32)
x_10 = range(51,82)
plt.figure(figsize=(20,8),dpi=80)
_x = list(x_3)+list(x_10)
_xtick_table = ['3月{}日'.format(i) for i in x_3]
_xtick_table += ['10月{}日'.format(i-50) for i in x_10]
plt.xticks(_x[::3],_xtick_table[::3],rotation=45)
plt.scatter(x_3,y_3,label='3月')
plt.scatter(x_10,y_10,label='10月')
plt.xlabel('时间')
plt.ylabel('温度')
plt.title('3月和10月温度对比')
plt.legend(loc='upper left')
plt.show()

在这里插入图片描述

3、条形图

横向

from matplotlib import pyplot as plt
import matplotlib
matplotlib.rc('font',family='MicroSoft YaHei',weight='bold')
a = ['电影1','电影2','电影3','电影4','电影5']
b = [10,15,17,9,20]
plt.figure(figsize=(20,8),dpi=80)
plt.barh(range(len(a)),b,height=0.3,color='orange')  # 横着barh
plt.yticks(range(len(a)),a)
plt.grid()
plt.show()

在这里插入图片描述

竖向

from matplotlib import pyplot as plt
import matplotlib
matplotlib.rc('font',family='MicroSoft YaHei',weight='bold')
a = ['电影1','电影2','电影3','电影4']
b_14 = [200,25,68,15]
b_15 = [175,24,50,60]
b_16 = [150,26,60,19]
bar_width = 0.2
x_14 = list(range(len(a)))
x_15 = [i+bar_width  for i in x_14]
x_16 = [i+bar_width*2  for i in x_14]
plt.figure(figsize=(20,8),dpi=80)
plt.bar(range(len(a)),b_14,width=bar_width,label='9月14日')
plt.bar(x_15,b_15,width=bar_width,label='9月15日')
plt.bar(x_16,b_16,width=bar_width,label='9月16日')
plt.legend()
plt.xticks(x_15,a)
plt.show()

在这里插入图片描述

from matplotlib import pyplot as plt
import numpy as np
index = np.arange(5)  # 设置横坐标的值
value = [20, 30, 45, 35, 50]  # 设置柱状的长度
plt.bar(index, value, width=0.5, label='population', facecolor='#ff0000')
plt.title('Grouping Allocation')
plt.xticks(index, ('Group1','Group2','Group3','Group4','Group5'))  # 刻度(俩层含义:刻标locs和刻度标签tick labels)
plt.yticks(np.arange(0, 60, 10))
plt.legend(loc='upper left')
a = zip(index, value)  # 打包成元组
for x, y in a:
    plt.text(x,y,y,ha='center',va='bottom')
# text为每一个柱形添加标签,第三个参数为添加的标签内容,ha,va指定标签横纵方向的对齐方式
plt.show()

在这里插入图片描述

4、补充

双坐标轴

import numpy as np
import matplotlib.pyplot as plt
x1 = np.array([10,20,30])
y1 = x1
plt.plot(x1,y1,color="red",linestyle="--",label='y=x')
plt.legend(loc='upper left')
plt.twinx()
y2 = x1 **2
plt.plot(x1,y2,color="green",label='y=x^2')
plt.legend(loc='upper right')
plt.show()

在这里插入图片描述

– 前面一部分看着b站视频学习的添加链接描述
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值