matplotlib.pyploy数据可视化(第三方库)

一、matplotlib.pyploy绘图相关的对象:

  1、容器类:图(figure)、坐标系(axes)、坐标轴(axis)、刻度(tick)
   2、基础类:线(line)、点(narker)、文本(text)、图例(legend)、网格(grid)、标题(title)

二、绘图的类型:

   1、线形图:plot()
   2、直方图:hist()
   3、条形图:bar()
   4、饼图:pie()
   5、散点图:scatter()
   6、3D图:from npl_toolkits.mplt3d import Aexs3D
   7、动态交互图:pyecharts
检查配置环境 

#导入库
import matplotlib.pyplot as plt  #导入数据可视化库matplotlib里面的pyplot绘图模块,别名plt
import numpy as np         #导入科学计算库,别名np
#1、线形图:plot()

plt.rcParams['font.family'] = 'YouYuan' #设置字体
plt.rcParams['font.size'] = 30  #设置字体大小

#plt.plot([1,5,6,9,10])   #如果给出一组一维数组,默认为y坐标,x坐标为0,1,2,3...
#plt.plot([1,2,3,4,5])
#plt.plot([4,5,6,7,9],[1,5,6,9,10])   #如果给出两组一维数组,前面一组为x坐标,后面一组y坐标
plt.plot([0,4,6,2,0],[0,0,6,6,0])
plt.axis([-4,18,-4,18])
plt.xlabel('课程')
plt.ylabel('成绩')
plt.title('立达学院_数字科学学院')

plt.savefig('../R&Q_pic/test_0.png',dpi = 600)     #将生成的图片保存在指定的位置,分辨率为600
plt.show()  #显示图表,必须在保存图片之后

#同一绘图区域绘制多图
import numpy as np
import matplotlib.pyplot as plt

x = np.arange(10)  #创建一个0-9的整数序列

plt.plot(x,x*1.5,'ro-',label = 'a')
plt.plot(x,x*2.5,'gx-',label = 'b')
plt.plot(x,x*3.5,'y*',label = 'c')
plt.plot(x,x*4.5,'bs-',label = 'd')
plt.plot(x,x**2,'mH-',label = 'e')
plt.savefig('../R&Q_pic/test1.jpg',dpi = 600) 
plt.legend()
plt.show()

np.arange(10)   #只能生成整数序列

np.arange(1,100,0.2)  #可以生成小数序列,以0.2为等差

示例:绘制正弦曲线,余弦曲线

  思路:首先需要一条一系列的X坐标,可通过numpy中的arange()函数生成,例如从0到4,步长为0.02;
然后借助numpy中的正弦、余弦函数对每个X坐标分别求值;最后通过X坐标和对应的Y坐标画图。
import matplotlib.pyplot as plt
import numpy as np

plt.rcParams['font.family'] = 'Kaiti'

x = np.arange(0,4,0.02)      #生成x轴序列

y_1 = np.sin(np.pi*x)+2
y_2 = np.cos(np.pi*x)
plt.plot(x,y_2,'mx')
plt.plot(x,y_2,'r')

plt.legend(['正弦曲线','余弦曲线'])
plt.title('正余弦曲线图')
plt.show()

 

#综合示例
import matplotlib.pyplot as plt

plt.figure(num = '气温趋势',figsize = (6,4))
plt.rcParams['font.family'] = 'Kaiti'

x = ['周一','周二','周三','周四','周五','周六','周日']
y_1 = [20,15,18,16,21,14,10]
y_1 = [12,8,14,10,13,9,4]
plt.plot(x,y_1,'rs-',label = '最高气温')
plt.plot(x,y_2,'bo:',label = '最低气温')

plt.title('一周气温变化趋势')
plt.xlabel('星期')
plt.ylabel('气温')
plt.legend()

plt.savefig('../R&Q_pic/test4.jpg',dpi = 600) 
plt.show()

 

#3.条形图:bar()
import matplotlib.pyplot as plt
plt.rcParams['font.family'] = 'STSong'
years = ['2014','2015','2016','2017','2018','2019']
baokao_nums = [172,164.9,177,201,238,290]
luqu_nums = [54.87,57.06,28.98,72.22,76.25,79.3]

x = range(len(years))
plt.bar(x,height = baokao_nums,width = 0.4)
plt.bar([i + 0.4 for i in x],luqu_nums,width = 0.4)
plt.xticks([i + 0.2 for i in x],years)

plt.legend(['研究生报考人数','研究生录取人数'])
plt.ylabel('人数/万人')
plt.xlabel('年份')
plt.title('研究生历年报考和录取情况')

plt.savefig('../R&Q_pic/test6.jpg',dpi = 600) 
plt.show()

 

#4、饼图:pie()
#案例:已知一个学生一天的活动时间分配为:学习8小时,睡觉7小时,吃饭三小时,玩乐6小时,绘制该学生一天时间分配饼状图
import matplotlib.pyplot as plt
plt.rcParams['font.family'] = 'FangSong'
plt.rcParams['font.size'] = 18

labels = ['学习','睡觉','吃饭','玩乐']   #活动标签
hours = [8,7,3,6]
colors = ['c','r','m','y']

plt.pie(hours,labels = labels,colors = colors, shadow = True,explode = (0,0.1,0,0.1), \
        autopct = '%3f%%',labeldistance = 1.2)
plt.title('一天的时间分配饼状图')

plt.savefig('../R&Q_pic/test7.jpg',dpi = 600) 
plt.show()

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

t_RNA_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值