matplotlib中pyplt几种典型图形汇总

几种图的特点:

一、折线图:能够显示事物的变化趋势,变化情况 plt.plot()

最典型的绘图过程即可。

二、直方图:绘制连续性的数据,展示一组或者多组数据的分布情况

和前面几种绘图最大的区别就是,绘图使用plt.hist(原始数据a,组数[,density=True])函数,并且简单绘图时不需要传x、y轴座标,只需要传进待绘图的原始连续数据,设置好分组数量,函数会自动将每组数据的个数计算出来,并且绘制到图上。如果使用density=True,则y轴座标则会由数量变为频率。
1、# 连续数据绘制直方图时:plt.hist()
2、# 如果原始数据经过初步整理,组织成不连续的数据,想要仍然达到直方图的目的,则使用条形图绘制,达到与直方图相似的效果

三、条形图:绘制离散的数据,展示一组或多组数据的分布情况

#正常绘图,条形图是竖着的,坐落在x轴上
plt.bar()

#条形图是横着的,坐落在y轴上
plt.barh()

四、散点图:判断变量之间是否存在数量关联趋势,展示离群点,分布规律 plt.scatter()

绘制方法和折线图一样,不同之处在于绘图方法使用的是plt.scatter()
在同一张图中绘制多个数据的散点图时,只需要让每个数据对应不同的下标就行了

一次完整过程(使用折线图示例):

#设置中文字体
font = {'family': 'STKAITI',
		'weight': 'bold',
		'size': '18'}

matplotlib.rc("font", **font)



#设置x、y轴座标值
y_1 = [1, 0, 1, 1, 2, 4, 3, 2, 3, 4, 4, 5, 6, 5, 4, 3, 3, 1, 1, 1]
y_2 = [1, 0, 3, 1, 2, 2, 3, 3, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1]
x = list(range(11, 31))
		
#设置图像大小
plt.figure(figsize=(20, 10), dpi=100)


#绘制x、y轴刻度对应的文字
x_label = ["{}岁".format(i) for i in x]
plt.xticks(x, x_label, rotation=45)
y_label = list(range(min(y_1), max(y_1)+1))
plt.yticks(y_label)

#设置x,y,图的描述信息
plt.xlabel("年龄")
plt.ylabel("交往对象个数")
plt.title("随年龄变化的对象交往情况图")


#绘制网格线
plt.grid(alpha = 0.4)
		
#绘制图像
plt.plot(x, y_1, label="我", color="orange", linestyle=":", linewidth=1)
plt.plot(x, y_2, label="简", color="black", linestyle="-.", linewidth=20)
plt.legend(loc="upper right")

plt.show()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章