matplotlib.pyplot——plt


import matplotlib.pyplot as plt

plt.scatter():显示散点图

函数原型

matplotlib.pyplot.scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, verts=None, edgecolors=None, *, data=None, **kwargs)

参数解释

scatter():绘制散点
x,y:表示的是大小为n的数组,arrary、list均可以,也就是我们即将绘制散点图的数据点。
s:表示点的面积。一个可选的参数。是一个实数或者是一个大小为的数组。
c:表示点的颜色。一个可选的参数。默认是蓝色’b’。可以是一个表示颜色的字符,或者是一个长度为n的表示颜色的序列等等。但是c不可以是一个单独的RGB数字,也不可以是一个RGBA的序列。

注:蓝色blue’b’,黄色yellow’y’,红色red’r’,绿色green’g’,黑色black’k’,青色cyan’c’,洋红色magenta’m’,白色white’w’。也可以是list colors = [0.50524609, 0.0652865 , 0.42812233, 0.09653092, 0.12715997,0.59674531, 0.226012 , 0.10694568, 0.22030621, 0.34982629]。也可以是 array([0.50524609, 0.0652865 , 0.42812233, 0.09653092, 0.12715997, 0.59674531, 0.226012 , 0.10694568, 0.22030621, 0.34982629])。

marker:表示标记的样式,默认的是’o’,'o’代表圆形,‘x’代表叉,’^'代表三角形。
alpha:表示的是透明度,实数,0-1之间。
vmin,vmax:实数,当norm存在的时候忽略。用来进行亮度数据的归一化。
linewidths:表示标记点的长度。只有marker为封闭的图案的时候,这个参数才有效。
剩下的不常用,先不介绍。

函数样例

import numpy as np
import matplotlib.pyplot as plt
 
np.random.seed(2)
x = np.random.rand(10)
y = np.random.rand(10)
 
colors = np.random.rand(10)
area = (30*np.random.rand(10))**2
alpha = np.random.rand(10)

plt.scatter(x,y,s=area,c=colors,alpha=0.5,marker='x')
plt.show()

效果:
scatter显示图片
其中:colors和area的大小如下:
colors:
array([0.50524609, 0.0652865 , 0.42812233, 0.09653092, 0.12715997,
0.59674531, 0.226012 , 0.10694568, 0.22030621, 0.34982629])
area:
array([196.94261766, 36.63029641, 369.10869633, 210.02081942,
229.73772893, 134.71733114, 566.87436818, 302.76436276,
23.70675157, 441.94846615])

plt.plot():显示趋势图

函数原型

plt.plot(x, y, ls="-", lw=2, label=“plot figure”)

参数解释

x:x轴上的数值
y:y轴上的数值
ls:折线图的线条风格
lw:折线图的线条宽度
label:标记图内容的标签文本 ,配合plt.legend()使用。

函数样例

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0.05, 10, 1000)
y = np.cos(x)
plt.figure(figsize=(30, 4.5))

plt.plot(x, y, ls="-", lw=2, label="plot figure")
plt.legend()
plt.show()

效果图:
在这里插入图片描述

plt.bar():显示柱状图

函数原型

bar(x, height, width=0.8, bottom=None, , align=‘center’, data=None, kwargs*)

参数解释

x:表示x坐标。
height:表示条形的高度。
width:表示条形的宽度,0~1,默认0.8。
bottom:表示条形的起始位置,也是y轴的起始坐标。
align:表示条形的中心位置,“center”,“lege"边缘。
color:表示条形的颜色。“r”,“b”,“g”,"#123465",默认“b"。
edgecolor:表示边框的颜色。
linewidth:表示边框的宽度,像素,默认无。
tick_label :表示下标的标签 可以是元组类型的字符组合。
log:表示y轴使用科学计算法表示,bool。
orientation:表示是竖直条还是水平条,竖直:“vertical”,水平条:“horizontal”。
label:标记图内容的标签文本 ,配合plt.legend()使用,图例。

函数样例

"""
    默认的是竖值条形图
"""
import numpy as np
import matplotlib.pyplot as plt
import matplotlib

# 将全局的字体设置为黑体
matplotlib.rcParams['font.family'] = 'SimHei'

# 数据
N = 5
y = [20, 10, 30, 25, 15]
x = np.arange(N)
Bj = [52, 55, 63, 53]
Sh = [44, 66, 55, 41]
bar_width = 0.3
str1 = ("北京", "上海", "武汉", "深圳", "重庆")

# 1、竖柱状
# 绘图 x:x轴,height:高度, 默认:color="blue", width=0.8
#p1 = plt.bar(x, height=y, width=0.5, )

# 2、横柱状
# 绘图 x=起始位置,bottom=水平条的底部(左侧), y轴,
#p1 = plt.bar(x=0, bottom=y, height=0.5, width=x, orientation="horizontal")

# 3、横柱状
# 绘图 y=y轴,left=水平条的底部,height水平条的宽度,width水平条的长度
#p1 = plt.barh(y, left=0, height=0.5, width=x)

# 4、并列条形图
#plt.bar(x, Bj, bar_width)
#plt.bar(x+bar_width, Sh, bar_width, align="center")

# 5、叠加条形图
#plt.bar(x, Bj, bar_width)
#plt.bar(x, Sh, bar_width, bottom=Bj)

# 6、添加数据标签
p1 = plt.bar(x, height=y, width=0.5, label="城市指标", tick_label=str1)
# 添加数据标签
for a, b in zip(x, y):
    plt.text(a, b + 0.05, '%.0f' % b, ha='center', va='bottom', fontsize=10)
# 添加图例
plt.legend()

plt.show()

效果:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

其他函数

plt.xlabel(""):横坐标
plt.ylabel("
"):纵坐标
plt.title(""):标题
plt.legend():图例显示
plt.figure(figsize=(30, 4.5))
plt.text()
matplotlib.rcParams[‘font.family’] = ‘SimHei’ ## 将全局的字体设置为黑体

函数样例

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y1 = [i + 1 for i in x]
y2 = [i + 2 for i in x]

# 散点图
plt.scatter(x, y1, c='g', marker='o')
plt.scatter(x, y2, c='r', marker='x')

#右上角图例
plt.legend(('y1', 'y2'), loc='upper right')

#横纵坐标标注
plt.xlabel("x")
plt.ylabel("y")

# 标题
plt.title("fun")

#显示图片
plt.show()

在这里插入图片描述

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值