目录
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()
效果:
其中: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()