Matplotlib基础

可参考:https://blog.csdn.net/xHibiki/article/details/84866887

散点图

主要参数说明如下:

x,y:数组

s:散点图中点的大小,可选

c:散点图中点的颜色,可选

marker:散点图的形状,可选

alpha:表示透明度,在 0~1 取值,可选

linewidths:表示线条粗细,可选

```

import matplotlib.pyplot as plt

import numpy as np

import pandas as pd

#数据准备

height = [155,158,160,167,170]

weight=[40,42,45,50,60]

#绘图 透明度为0.7

plt.scatter(x=height,y=weight,alpha=0.7)

plt.xlabel('height')

plt.ylabel('weight')

plt.show()

```


散点图



柱形图与直方图

区别:

柱形图展示类别(非数值)的频数,柱状图是分开排列。

直方图展示各组数据的频数,分组数据具有连续性,因此直方图的各矩形通常是连续排列,

直方图与柱形图的区别

直方图

hist(x, bins=None,color=None, label=None, stacked=False, normed=None,  data=None, **kwargs)

主要参数说明如下:

bins:直方图中箱子 (bin) 的总个数。个数越多,条形带越紧密。

color:箱子的颜色。

normed:对数据进行正则化。决定直方图y轴的取值是某个箱子中的元素的个数 (normed=False), 还是某个箱子中的元素的个数占总体的百分比 (normed=True)。

```

import numpy as np

import matplotlib.pyplot as plt

aveage = 100 #平均值

sigma = 20  #标准差

#设置随机数种子,为了使每次随机树生成的结果一样

np.random.seed(1)

a= np.random.randn(2000)#生成2000个标准正太分布0-1的数

x=aveage + sigma*a

#画直方图,设定50个箱子bins,采用正则化normed=True

plt.hist(x,bins=50,color='red',normed=True)

plt.title("hist test")

plt.show()

```



直方图

饼图

plt.pie(x,labels=标签列表 ,autopct = 1)

x为传入的值,labels为饼图各块的标签,autopct为是否显示饼图各块的占比百分数

```

import matplotlib.pyplot as plt

x = [20,40,40]#设置饼图各块数值

labels = 'A','B','C'#设置饼图各块标签

#autopct设置显示百分比, ‘%.0f%%’中的数字表示保留小数点后几位,此处为0表示保留0位

plt.pie(x, labels=labels, autopct = '%.0f%%')

plt.show()

```



显示多个图

- plt.subplot(x,y)

```
names = ['BMW', 'Benz', 'Audi']

values = [30, 10, 20]

plt.subplot(221)  #构建2x2张图中的第1张子图

plt.bar(names, values) #统计图

plt.subplot(222)

plt.scatter(names, values) #散点图

plt.subplot(223)

plt.plot(names, values) #折线图

plt.suptitle('三种图示',fontname='SimHei')

plt.show()

```


多个图表

你可能感兴趣的:(Matplotlib基础)