*各种图形的label参数都与plt.legend函数配合使用
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
#更改文件存放提取路径
import os
os.chdir('')
data = pd.read_csv()
#数据按照地区求销量平均值
data_1 = data.groupby('Region').mean()['Sales']
x_data = data_1.values
y_label = data_1.index #y轴标签为数据第一行指标
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
饼图
饼图不适合取值过多的分类特征
pie(x,explode,labels,colors,autopct=,pctdistance,shadow,labeldistance,startangle,radius,wedgeprops,textprops,center)
- explode:突出显示,即扇形与圆心距离
- autopct:百分比显示格式
- pctdistance:百分比标签与圆心距离
- shadow:是否添加阴影效果
- labeldistance:设置扇形标签与圆心距离
- startangle:设置饼图初始摆放角度
- radius:饼图半径大小
- wedgeprops:内外边界属性(以字典形式表示)
- counterclock:是否逆时针呈现
- textprops:文本属性(以字典形式表示)
- center:中心位置设置
explode = [0,0.1,0,0,0,0.2]
colors = ['yellow','red','purple','green','blue','darkred']
plt.pie(x=x_data,explode=explode,labels=y_label,colors=colors,autopct='.if%%',pctdistance=1.1,
wedgeprops={'linewidth':1.5,'edgecolor':'green'},textprops={'fontsize':10,'color':'black'})
plt.title('标题',pad=30)
plt.show()
柱状图
bar(x,height,width,bottom,edge,color,linewidth,tick_label,align)
- x:长条形中点横坐标,一般用range函数,range(0,n+1)
- height:长条形高度
- width:条形图宽度
- bottom:用于绘制堆积柱状图,将哪组数据放在下方
- edge:边框色
- linewidth:边框宽度
- tick_label:x轴刻度标签
- align:x轴上对齐方式
data = [115,130,100,140]
plt.bar(x=range(1,5), height=data, align='center', color='yellow')
plt.xlabel('地区')
plt.ylabel('销量')
plt.title('不同地区的销量',pad = 15) #pad为标题与图表距离,一般15-30之间
plt.xlim(0,5)
plt.show()
直方图
plt.hist(x,bins,width,color,linewidth,tick_label,align,density=True/False)
- bins:条形数量,一般20-40
- density:是否以频率形式展示
data = np.random.randn(10000)
plt.hist(x = data, bins = 30, color = 'purple',edgecolor = 'black' ,density = False)
plt.show()
散点图
plt.scatter(x,y,s,color,marker,cmap,norm,alpha,linewidths,edgecolors)
- s:散点大小
- color:散点颜色
- marker:散点形状
- cmap:指定某个
- colormap值
- alpha:透明度
data1 = np.random.randn(10)
data2 = np.random.randn(10)
plt.scatter(x=data1, y=data2, color='steelblue', marker='o', s=100)
plt.show()
箱线图
观察数据分散情况(是否有异常值)
plt.boxplot(x, notch, sym, vert, whis, positions, widths, patch_artist, meanline, showmeans, boxprops, labels, flierprops)
- x:数据
- patch_artist:是否填充箱体颜色
- showmeans:是否显示均值
- showfliers:是否表示有异常值
- boxprops:设置箱体属性,如填充色color,边框色facecolor
- flierprops:设置异常值属性,如标记形状marker,颜色markerfacecolor,大小markersize
- meanprops:设置均值属性,如点形状,大小,颜色等 medianprops:设置中位数属性,如线类型,大小等
- caprops:设置箱体顶端和末端线条属性,如颜色,粗细
属性设置均为字典类型
折线图
即为plt.plot()函数