matplotlib可视化学习笔记 (1)

matplotlib可视化学习

折线图

plt.plot(x,y,linestyle,linewidth,color,marker,markersize,markeredgecolor,markerfactcolor,label,alpha)  
参数说明
x指定折线图的x轴数据;
y指定折线图的y轴数据;
linestyle指定折线的类型,可以是实线、虚线、点虚线、点点线等,默认文实线;
linewidth指定折线的宽度
marker可以为折线图添加点,该参数是设置点的形状;
markersize设置点的大小;
markeredgecolor设置点的边框色;
markerfactcolor设置点的填充色;
label为折线图添加标签,类似于图例的作用;
%matplotlib inline
import matplotlib.pyplot as plt
plt.plot([1,2,3],[5,7,4])
plt.show()

在这里插入图片描述

# 在一个图中标记多条线,并且标记 title,x 和 y 的 label
x = [1,2,3]
y = [5,7,4]

x2 = [1,2,3]
y2 = [10,14,12]

plt.plot(x, y, label='First Line')
plt.plot(x2, y2, label='Second Line')

plt.xlabel('Plot Number')
plt.ylabel('Important var')
plt.title('Interesting Graph\nCheck it out')
plt.legend() # lengend 可以显示每条线的 label,就是图中的小框,可以注释掉看变化。
plt.show()

在这里插入图片描述
柱状图

# 柱状图
import matplotlib.pyplot as plt
plt.bar([1,3,5,7,9],[5,2,7,8,2], label="Example one")
plt.bar([2,4,6,8,10],[8,6,2,5,6], label="Example two", color='g')
plt.legend()
plt.xlabel('bar number')
plt.ylabel('bar height')

plt.title('Epic Graph\nAnother Line! Whoa')

plt.show()

在这里插入图片描述
直方图

plt.hist(x, bins=10, range=None, normed=False,weights=None, cumulative=False, bottom=None,histtype='bar', align='mid', orientation='vertical',rwidth=None, log=False, color=None,
label=None, stacked=False)
参数说明
x指定要绘制直方图的数据;
bins指定直方图条形的个数;
range指定直方图数据的上下界,默认包含绘图数据的最大值和最小值;
normed是否将直方图的频数转换成频率;
weights该参数可为每一个数据点设置权重;
cumulative是否需要计算累计频数或频率;
bottom可以为直方图的每个条形添加基准线,默认为0;
histtype指定直方图的类型,默认为bar,除此还有’barstacked’, ‘step’, ‘stepfilled’;
align设置条形边界值的对其方式,默认为mid,除此还有’left’和’right’;
orientation设置直方图的摆放方向,默认为垂直方向;
rwidth设置直方图条形宽度的百分比;
log是否需要对绘图数据进行log变换;
color设置直方图的填充色;
label设置直方图的标签,可通过legend展示其图例;
stacked当有多个数据时,是否需要将直方图呈堆叠摆放,默认水平摆放;
import matplotlib.pyplot as plt

population_ages = [22,55,62,45,21,22,34,42,42,4,99,102,110,120,121,122,130,111,115,112,80,75,65,54,44,43,42,48]

bins = [0,10,20,30,40,50,60,70,80,90,100,110,120,130]

plt.hist(population_ages, bins, histtype='bar', rwidth=0.8, label="hist" )

plt.xlabel('x')
plt.ylabel('y')
plt.title('Interesting Graph\nCheck it out')
plt.legend()
plt.show()

在这里插入图片描述
散点图

import matplotlib.pyplot as plt

x = [1,2,3,4,5,6,7,8]
y = [5,2,4,2,1,4,5,2]

plt.scatter(x,y, label='skitscat', color='k', s=25, marker="o")

plt.xlabel('x')
plt.ylabel('y')
plt.title('Interesting Graph\nCheck it out')
plt.legend(loc = 'best')
plt.show()

在这里插入图片描述

叠加图

import matplotlib.pyplot as plt

days = [1,2,3,4,5]

sleeping = [7,8,6,11,7]
eating =   [2,3,4,3,2]
working =  [7,8,7,2,2]
playing =  [8,5,7,8,13]

plt.plot([],[],color='m', label='Sleeping', linewidth=5)
plt.plot([],[],color='c', label='Eating', linewidth=5)
plt.plot([],[],color='r', label='Working', linewidth=5)
plt.plot([],[],color='k', label='Playing', linewidth=5)

plt.stackplot(days, sleeping,eating,working,playing, colors=['m','c','r','k'])

plt.xlabel('x')
plt.ylabel('y')
plt.title('Interesting Graph\nCheck it out')
plt.legend(loc = 'lower center')
plt.show()

在这里插入图片描述
饼状图

plt.pie(x, explode=None, labels=None, colors=None,
autopct=None, pctdistance=0.6, shadow=False,
labeldistance=1.1, startangle=None,
radius=None, counterclock=True, wedgeprops=None,
textprops=None, center=(0, 0), frame=False)
参数说明
x指定绘图的数据;
explode指定饼图某些部分的突出显示,即呈现爆炸式;
labels为饼图添加标签说明,类似于图例说明;
colors指定饼图的填充色;
autopct自动添加百分比显示,可以采用格式化的方法显示;
pctdistance设置百分比标签与圆心的距离;
shadow是否添加饼图的阴影效果;
labeldistance设置各扇形标签(图例)与圆心的距离;
startangle设置饼图的初始摆放角度;
radius设置饼图的半径大小;
counterclock是否让饼图按逆时针顺序呈现;
wedgeprops设置饼图内外边界的属性,如边界线的粗细、颜色等;
textprops设置饼图中文本的属性,如字体大小、颜色等;
center指定饼图的中心点位置,默认为原点
frame是否要显示饼图背后的图框,如果设置为True的话,需要同时控制图框x轴、y轴的范围和饼图的中心位置;
import matplotlib.pyplot as plt

slices = [7,2,2,13]
activities = ['sleeping','eating','working','playing']
cols = ['c','m','r','b']

plt.pie(slices,
        labels=activities,
        colors=cols,
        startangle=90, # 开始的角度,最开始是在正右方。
        shadow= True,
        explode=(0,0.1,0,0), # 每个部分突出的部分
        autopct='%1.1f%%') # 百分比的格式

plt.title('Interesting Graph\nCheck it out')
plt.show()

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值