一、绘制直方图
1、使用hist()绘制直方图
hist()函数语法:
hist(x, bins=None, range=None, density=False, weights=None, cumulative=False, bottom=None, histtype='bar', align='mid', orientation='vertical', rwidth=None, log=False, color=None, label=None, stacked=False, *, data=None, **kwargs)
bins:表示矩形条的个数,默认为10
range:表示数据范围
cumulative:表示是否计算累计频数或频率
histtype:表示直方图的类型
align:表示矩形边界的对齐方式,默认‘mid’
orientatio:表示矩形条的摆放方式,默认‘vertical’(垂直方向)
rwidth:表示矩形条宽度的百分比,默认为0
stacked:表示是否将多个矩形条以堆积形式摆放
1.1 示例代码:
#导入模块
import matplotlib.pyplot as plt
import numpy as np
#创建画布
fig = plt.figure()
#在画布上添加绘图区域
ax = fig.add_subplot(111)
#准备数据
x = np.random.randint(0,100,50)
#绘制直方图
plt.hist(x,bins=8,histtype='stepfilled')
运行结果:
2、绘制灰度直方图
2.1 示例代码:
#导入模块
import matplotlib.pyplot as plt
import numpy as np
#创建画布
fig = plt.figure()
#在画布上添加绘图区域
ax = fig.add_subplot(111)
#准备数据
random_statel = np.random.RandomState(19680801)
random_x1 = random_statel.randn(10000)
#绘制灰度直方图
plt.hist(random_x1,bins=25)
plt.show()
运行结果:
二、绘制饼图或圆环图
1、使用pie()绘制饼图或圆环图
pie()函数语法:
pie(x, explode=None, labels=None, colors=None, autopct=None, pctdistance=0.6, shadow=False, labeldistance=1.1, startangle=0, radius=1, counterclock=True, wedgeprops=None, textprops=None, center=(0, 0), frame=False, rotatelabels=False, *, normalize=True, hatch=None, data=None)
explode:表示扇形或楔形离开圆心的距离
labels:表示扇形或楔形对应标签文本
autopct:表示控制扇形或楔形的数值显示的字符串
pctdistance:表示扇形或楔形对应数值标签距离圆心的比例,默认为0.6
shadow:表示是否显示阴影
labeldistance:表示标签文本的绘制位置,默认1.1
startangle:表示起始绘制角度,默认从x轴的正方向逆时针绘制
radius:表示扇形或楔形的半径
wedgeprops:表示控制扇形或楔形属性的字典
textprops:表示控制图表中文本属性的字典
center:表示图表的中心点位置,默认为(0,0)
frame:表示是否显示图框
1.1 示例代码:
#导入模块
import matplotlib.pyplot as plt
import numpy as np
#创建画布
fig = plt.figure()
#在画布上添加绘图区域
ax = fig.add_subplot(111)
#准备数据
data = np.array([20,50,10,15,30,55])
#绘制扇形对应标签文本
pie_labels = np.array(['A','B','C','D','E','F'])
#绘制饼图
plt.pie(data,radius=1.5,labels=pie_labels,autopct='%3.1f%%')
plt.show()
运行结果:
2.绘制圆环图
2.1 示例代码:
#导入模块
import matplotlib.pyplot as plt
import numpy as np
#创建画布
fig = plt.figure()
#在画布上添加绘图区域
ax = fig.add_subplot(111)
#准备数据
data = np.array([20,50,10,15,30,55])
#绘制扇形对应标签文本
pie_labels = np.array(['A','B','C','D','E','F'])
#绘制圆环图
plt.pie(data,radius=1.5,wedgeprops={'width':0.7},labels=pie_labels,autopct='%3.1f%%',pctdistance=0.75)
plt.show()
运行结果:
三、绘制散点图或气泡图
1、使用scatter()绘制散点图和气泡图
scatter()函数语法:
scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, *, edgecolors=None, plotnonfinite=False, data=None, **kwargs)
x,y:表示数据点的位置
s:表示数据点的大小
表c:表示数据点的颜色
marker:表示数据点的样式,默认为圆形
cmap:表示数据点的颜色映射表,仅当参数c为浮点数组时才使用
norm:表示数据亮度,可以取值为0-1
vmin,vmax:表示亮度的最小值和最大值,若传入了norm函数,则忽略vmin,vmax函数
alpha:表示透明度,可以取值为0-1
linewidths:表示数据点边缘的宽度
edgecolors:表示数据点边缘的颜色
1.1 示例代码:
#导入模块
import matplotlib.pyplot as plt
import numpy as np
#设置中文
plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False
#创建画布
fig = plt.figure()
#在画布上添加绘图区域
ax = fig.add_subplot(111)
#准备数据
num = 50
x = np.random.rand(num)
y = np.random.rand(num)
#绘制散点图
plt.scatter(x,y)
plt.show()
运行结果:
2.绘制气泡图
示例代码:
#导入模块
import matplotlib.pyplot as plt
import numpy as np
#设置中文
plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False
#创建画布
fig = plt.figure()
#在画布上添加绘图区域
ax = fig.add_subplot(111)
#准备数据
num = 50
x = np.random.rand(num)
y = np.random.rand(num)
#每一个散点权重
area = (30*np.random.rand(num))**2
#绘制气泡图
plt.scatter(x,y,s=area,c='red',alpha=0.6)
plt.show()
运行结果:
四、绘制误差棒图
1、使用errorbar()绘制误差棒图
errorbar()函数语法:
errorbar(x, y, yerr=None, xerr=None, fmt='', ecolor=None, elinewidth=None, capsize=None, barsabove=False, lolims=False, uplims=False, xlolims=False, xuplims=False, errorevery=1, capthick=None, *, data=None, **kwargs)
x,y:表示数据点的位置
xerr,yerr:表示数据的误差范围
fmt:表示数据点的标记样式和数据点之间连接线的样式
ecolor:表示误差棒的线条颜色
elinewidth:表示误差帮的线条宽度
capsize:表示误差棒边界横杆的大小
capthick:表示误差棒边界横杆的厚度
1.1 示例代码:
#导入模块
import matplotlib.pyplot as plt
import numpy as np
#创建画布
fig = plt.figure()
#在画布上添加绘图区域
ax = fig.add_subplot(111)
#准备数据
x = np.arange(5)
y = (25,32,34,20,25)
y_offset = (3,5,2,3,3)
#绘制误差棒图
plt.errorbar(x,y,yerr=y_offset,capsize=3,capthick=2)
plt.show()
运行结果: