matplotlib常用画图(散点图、折线图、直方图、饼图和箱线图)

#加载数据集
from sklearn.datasets import load_iris
import pandas as pd
import matplotlib.pyplot as plt

dataset = load_iris()
data = pd.DataFrame(dataset['data'])
target = dataset['feature_names']

array = data.values
y = array[:,0]
x = range(len(y))

name1 = ("样本")
name2 = target[0]
#画折线图
plt.figure()
plt.plot(x,y,'r')    
plt.xlabel(name1)
plt.ylabel(name2)

#设置编码,中文不会乱码
plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False

plt.show()

#画散点图
plt.figure()
plt.scatter(x,y,c = 'b')    #c设置颜色
plt.xlabel(name1)
plt.ylabel(name2)
plt.show()

#画多个图表

plt.figure(figsize=(6,7))
ax1 = plt.subplot(2, 1, 1)
plt.scatter(array[:,0],array[:,0],c = 'r',label = target[0])
plt.scatter(array[:,0],array[:,1],c = 'b',label = target[1])
plt.scatter(array[:,0],array[:,2],c = 'y',label = target[2])
#plt.xticks(range(0,69,4),values[range(0,69,4),1],rotation = 30)
plt.legend()        #显示图例

ax2 = plt.subplot(2,1,2)
plt.scatter(array[:,0],array[:,1],c = 'k')
plt.scatter(array[:,0],array[:,2],c = 'c')
plt.show()


plt.figure(figsize=(6,7))
sum1 = np.sum(array[:,0])
sum2 = np.sum(array[:,1])
sum3 = np.sum(array[:,2])
columns_sum = target[0:3]
sum_value =(sum1,sum2,sum3)
print(columns_sum)
plt.figure()
plt.bar(columns_sum,sum_value,width = 0.8,color = 'b')
plt.show()

#饼图
sum_array = np.array([sum1,sum2,sum3])
plt.figure()
plt.pie(x=sum_array,labels=columns_sum,autopct='%.2f%%')
plt.show()

#箱线图
'''
最大值、上四分位数、中位数、下四分位数、最小值,
剩下的为异常值
'''
plt.figure(figsize=(6,7))
array_2 = list(array[:,2])
plt.boxplot(array_2,sym="o",whis=1.5)
plt.show()



data_ = ([list(array[:,i]) for i in range(4)])
plt.boxplot(data_)
plt.show()

猜你喜欢

转载自blog.csdn.net/spartanfuk/article/details/81545885