Matplotlib模块

Matplotlib

导包

import matplotlib as mpl
import matplotlib.pyplot as plt
#导入numpy模块
import numpy as np

#用来正常显示中文标签
plt.rcParams['font.sans-serif']=['SimHei']
#用来正常显示负号
plt.rcParams['axes.unicode_minus']=False

点线图(.plot())

代码

#x坐标采样点生成
x=np.arange(0,11,0.2)
#计算对应y的正弦值
y=np.sin(x)
#控制图形格式为蓝色带星的虚线
plt.plot(x,y,color='r',marker='D',linestyle='--',linewidth=1,alpha=0.5,label='sin')
#显示label
plt.legend()
#横坐标说明
plt.xlabel('横坐标说明')
#纵坐标说明
plt.ylabel('纵坐标说明')
#显示图形
plt.show()

生成图形

参数参考

柱状图(.bar())

代码

#柱状图数据
animal_speed={'dog':(48,'#7199cf'),
              'cat': (45, '#4fc4aa'),
               'cheetah': (120, '#e1a7a2')}
#分离数据
x_key = animal_speed.keys()
value = animal_speed.values()
#分离y轴值和颜色
speed = [i[0] for i in value]
color = [i[1] for i in value]
#绘制柱状图
bars = plt.bar(x_key,speed,width = 0.4,color = 'r',edgecolor = 'black')
#给每一个柱子赋予不同的颜色
for c,b in zip(color,bars):
    b.set_color(c)
#添加文字描述,'%d(km/h)'%y格式化输出文本,ha控制横向居中,va纵向在柱子顶端
#text(x横坐标,y纵坐标,显示数据,水平对齐,垂直对齐)
for x,y in zip(x_key,speed):
    plt.text(x,y,'%d(km/h)'%y,ha = 'center',va = 'bottom')
#x,y 轴标签
plt.xlabel('animal')
plt.ylabel('speed')
#显示标题
plt.title('动物速度')
#显示图形
plt.show()

生成图形

参数参考

饼状图(.pie())

代码

# 创建一个字典对象
pg_langs={'Java':(30,'#7B68EE'),'Python':(25,'#EEC900'),
                   'C#':(15,'#8E388E'),'PHP':(7,'#00CD66'),
                   'HTML5':(13,'#FF8C00'),'Database':(10,'#8B5A00')}
#各个部分的占比(必选参数)
per = [i[0] for i in pg_langs.values()]
#颜色的取值
colors =[i[1] for i in pg_langs.values()]
#赋予每一块一个标签,(标签,占比)
labels = [ '{}\n{}'.format(pg,per) for pg,per in zip(pg_langs.keys(),per)]
#explode描述各部分距离中间点多长
explode= [0,0,0,0.4,0,0]
#必选参数,占比(占比之和100)
#labels,各部分标签值
#labeldistance,标签距离中间点的距离
#colors,注意加s,修改颜色;
#shadow加不加阴影,默认为False
#radius,圆的半径,默认为1
plt.pie(per,labels =labels,labeldistance=0.5,colors= colors,explode = explode,shadow= False,radius=1)
plt.show()

生成图形

参数参考

#explode 描述各部分距离中间点多长 如:explode= [0,0,0,0.4,0,0]
#part 必选参数,占比(占比之和100) 如:per= [30, 25, 15, 7, 13, 10]
#labels,各部分标签值 如:labels= [‘Java\n30’, ‘Python\n25’, ‘C#\n15’, ‘PHP\n7’, ‘HTML5\n13’, ‘Database\n10’]
#labeldistance 标签labels 距离中间点的距离
#colors,注意加s,修改颜色; 如:[’#7B68EE’, ‘#EEC900’, ‘#8E388E’, ‘#00CD66’, ‘#FF8C00’, ‘#8B5A00’]
#shadow加不加阴影,默认为False
#radius,圆的半径,默认为1

散点图(.scatter())

代码


x =  np.random.randn(1,1000)
y =  np.random.randn(1,1000)
T =  np.arctan2(x,y)

plt.scatter(x,y,c=T,s=25,alpha = 0.4,marker='^')
plt.show()

生成图形

参数参考

散点的颜色 T
散点的大小 s
散点的透明度 alpha
散点的形状 marker

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值