数据分析与结构1——matplotlib

基本概念

数据分析的概念

将大量的数据进行统计和整理,得出结论,为后续决策提供数据支持

anaconda的安装与使用

anaconda

matplotlib

matplotlib
可对官方说明文档的examples中选择图片类型对应代码进行修改

plt.plot绘制折线图

设置图片大小figsize
绘图plt.plot
保存图片plt.savefig(‘保存地址’)
坐标轴刻度:plt.xticks/yticks

from matplotlib import pyplot as plt
x = range(2,27,2)
y = [15,13,14,5,17,20,25,26,26,27,22,18,15]

#设置图片大小
plt.figure(figsize=(20,8),dpi=80)

#绘图
plt.plot(x,y)

_xtick_labels = [i/2 for i in range(4,49)]
plt.xticks(_xtick_labels[::3])
plt.yticks(range(min(y),max(y)+1))
#plt.savefig('./t1.png')
plt.show()

设置中文:font_manager
显示中文处使用fontproperties
图例中使用prop

import random

from matplotlib import pyplot as plt
import matplotlib
from matplotlib import font_manager

#windows和Linux设置字体的方式
# font = {'family': 'Microsoft YaHei',
#         'weight': 'bold',
#         'size': 'larger'}
# matplotlib.rc('font',**font)
# matplotlib.rc('font',family='Microsoft Yahei')

#另外一种设置字体的方式
my_font = font_manager.FontProperties(fname='C:\Windows\Fonts\STSONG.TTF')

x = range(0,120)
y = [random.randint(20,35) for i in range(120)]

plt.figure(figsize = (80,30),dpi=80)
plt.plot(x,y)


# 调整x轴的刻度
_x = list(x)
_xticks_labels =  ['10点{0}分'.format(i) for i in range(60)]
_xticks_labels += ['11点{0}分'.format(i-60) for i in range(60,120)]

plt.xticks(_x[::10],_xticks_labels[::10],rotation=45,fontproperties = my_font) #刻度数据rotation旋转度数

plt.show()

设置坐标轴和图的名称
plt.xlabel
plt.title
绘制网格 plt.grid
绘制图例plt.legend
注:图例中的中文显示用prop

from matplotlib import pyplot as plt
import matplotlib
from matplotlib import font_manager

my_font = font_manager.FontProperties(fname='C:\Windows\Fonts\STSONG.TTF')

x = range(11,31)
y1 = [1,0,1,1,2,4,3,2,3,4,4,5,6,5,4,3,3,1,1,1]
y2 = [1,0,3,1,2,2,3,3,2,1,2,1,1,1,1,1,1,1,1,1]

plt.figure(figsize=(20,4),dpi=80)
plt.plot(x,y1,label='自己',color='red',linestyle='-.',linewidth=2)
plt.plot(x,y2,label='同桌',color='black',linewidth=2)

_xticks_labels = ['{}岁'.format(i) for i in range(11,31)]
plt.xticks(x,_xticks_labels,rotation=45,font_properties=my_font)

#添加坐标轴名称
plt.xlabel('时间/年',font_properties=my_font)
plt.ylabel('人数',font_properties=my_font)
plt.title('不同年龄阶段的恋爱人数',font_properties=my_font)
plt.yticks(range(0,9))

#绘制网格
plt.grid(alpha=0.2,linestyle=':')

#添加图例
plt.legend(prop=my_font,loc='upper right')

#展示
plt.show()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值