字体
import matplotlib.pyplot as plt
plt.rcParams['font.msans-serif']=['SimHei'] #用来正常显示中文标签 plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
折线图
plot_params = '''
参数 接收值 说明 默认值
x,y array 表示 x 轴与 y 轴对应的数据; 无
color string 表示折线的颜色; None
marker string 表示折线上数据点处的类型; None
linestyle string 表示折线的类型; -
linewidth 数值 线条粗细: linewidth=1.=5.=0.3 1
alpha 0~1之间的小数 表示点的透明度; None
label string 数据图例内容: label=‘实际数据’ None
'''
x = df['姓名'].head()
y = df['交易额'].head()
# x,y 的值
plt.title('员工和营业额之间的折线图')
# 设置标题
plt.plot(x, y, color='blue',marker='*',linestyle = '-',
linewidth = 0.8,alpha = 0.6,label='营业额')
# 折线图参数
plt.legend()
# 显示图例
plt.xlabel('员工姓名')
# 设置 x 轴标题
plt.xticks(rotation = 45)
# x 轴的字体倾斜
plt.ylabel('营业额(元)')
# 设置 y 轴
plt.show()
柱状图
bar_params = '''
参数 说明 类型
x,y x坐标,y坐标 int,float
width 宽度 0~1, 默认0.8
alpha 透明度 0~1之间的小数
bottom 条形的起始位置 也是y轴的起始坐标 , 整数
align 条形的中心位置 "center","lege"边缘
edgecolor 边框颜色
linewidth 边框宽度
color 条形的颜色 "r","b","g","#123465",默认"b"
'c', 'r', 'g', 'k', 'y', 'm', 'b'
'''
x = df['姓名'].head()
y = df['交易额'].head()
# x,y 的值
plt.title('员工和营业额之间的柱状图')
# 设置标题
plt.bar(x, y,width = 0.3,bottom = 100,align = 'center',
edgecolor = 'y',linewidth = 3,color = ['c','r','g','k','y'],
label='营业额')
# 柱状图参数
plt.legend()
# 显示图例
plt.xlabel('员工姓名')
# 设置 x 轴标题
plt.xticks(rotation = 45)
# x 轴的字体倾斜
plt.ylabel('营业额(元)')
# 设置 y 轴
plt.show()
散点图
scatter_params = '''
参数 说明
x,y x轴 和 y轴对应的数据
c 散点标记的颜色,为指定的色彩、数值序列或者颜色序列。
'c', 'r', 'g', 'k', 'y', 'm', 'b'
marker 散点标记类型,默认为圆圈。
cmap 仅当c参数为颜色序列的时候使用。
alpha 透明图设置,取值范围[0,1]。0:透明,1:不透明。
norm 仅当c为数值序列的时候,通过colors.Normalize将值进行正则化。
linewidths 散点标记的边界的宽度。
edgecolors 散点标记的边界的颜色。
'''
x = range(len(df['交易额']))
y = df['交易额']
plt.title('员工和营业额之间的散点图')
# 设置标题
plt.scatter(x, y,s = 20,c = 'g',marker = '*',
alpha = 0.8,linewidths = 0.5,edgecolors = ['c', 'r', 'g', 'k', 'y', 'm', 'b'])
# 散点图参数
plt.xlabel('员工姓名')
# 设置 x 轴标题
plt.xticks(rotation = 45)
# x 轴的字体倾斜
plt.ylabel('营业额(元)')
# 设置 y 轴
plt.show()
饼图
pie_params = '''
参数 说明
x (每一块)的比例,如果sum(x) > 1会使用sum(x)归一化;
labels (每一块)饼图外侧显示的说明文字;
explode (每一块)离开中心距离;
startangle 起始绘制角度,默认图是从x轴正方向逆时针画起,如设定 =90 则从y轴正方向画起;
shadow 在饼图下面画一个阴影。默认值:False,没有阴影;
labeldistance label标记的绘制位置,相对于半径的比例,默认值为1.1, 如<1则绘制在饼图内侧;
autopct 控制饼图内百分比设置,可以使用format字符串或者format function
'%1.1f'指小数点前后位数(没有用空格补齐);
pctdistance 类似于 labeldistance,指定 autopct 的位置刻度,默认值为0.6
radius 控制饼图半径,默认值为1
counterclock 指定指针方向;布尔值,可选参数,默认为:True,逆时针
wedgeprops 字典类型,可选参数,默认值:None。参数字典传递给wedge对象用来画一个饼图。
例如:wedgeprops={'linewidth':3}设置wedge线宽为3。
textprops 设置标签(labels)和比例文字的格式;字典类型,可选参数,默认值为:None。
传递给text对象的字典参数。textprops={'fontsize':20,'color':'black'}
center 浮点类型的列表,可选参数,默认值:(0,0)。图标中心位置。
frame 布尔类型,可选参数,默认值:False。如果是True,绘制带有表的轴框架。
rotatelabels 布尔类型,可选参数,默认为:False。如果为True,旋转每个label到指定的角度。
'''
x = df.groupby(by = '姓名')['交易额'].sum()
plt.title('员工和营业额之间的饼图')
# 设置标题
plt.pie(x,labels = x.keys(),explode = [0,0.1,0,0.1,0.3,0.4],startangle = 30,
shadow = True,labeldistance = 1.3,autopct = '%1.1f',pctdistance = 0.5,
radius = 0.9,counterclock = True,wedgeprops = {'linewidth':3},
textprops = {'fontsize':14,'color':'black'},center = (2,2),frame = False,
rotatelabels = False
)
# 饼图参数
plt.xlabel('员工姓名')
# 设置 x 轴标题
plt.ylabel('营业额所占百分比')
# 设置 y 轴
plt.show()
legend_params = '''
参数 说明
loc = 'upper right' 位于右上角
bbox_to_anchor = [0.5, 0.5] 外边距 上边 右边
ncol = 2 分两列
borderaxespad = 0.3 图例的内边距
'''
2021-01-25