我的编程空间,编程开发者的网络收藏夹
学习永远不晚

数据分析——matplotlib

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

数据分析——matplotlib

基础

 1 # coding=utf-8
 2 import matplotlib.pyplot as pt
 3 import numpy as np
 4 from matplotlib import font_manager  # 字体管理
 5 
 6 # pt.figure(num='ljb',facecolor='y',figsize=(8,6))  #num画框名,facecolor画框颜色,figsize画框大小(宽,高)
 7 # pt.subplot(1,2,1)     #子画框,1行1列1号位置
 8 # X = np.linspace(-np.pi,np.pi,100)
 9 # Y = np.sin(X)
10 # B = np.cos(X)
11 # pt.plot(X,Y,c='b',lw=4,ls='--')   #c图形颜色,lw图形粗细,ls图形样式
12 # pt.subplot(1,2,2)
13 # pt.plot(X,B,c='g',lw=4,ls='--')
14 # pt.savefig('./sinx.png')      #保存图形
15 
16 # pt.figure(num='haha',facecolor='g')
17 # X = np.linspace(0,np.pi,100)
18 # Y = np.cos(X)/np.sin(X)
19 # Y = np.sin(X)/np.cos(X)
20 # pt.plot(X,Y,'b+')
21 
22 # 行,列,位置
23 # 画哪个就把哪个作为主体
24 # pt.figure(facecolor='r')
25 # X = np.linspace(-100, 100, 20)
26 # Y = X ** 2
27 # pt.xlabel(u'X数值')     #X轴名字
28 # pt.ylabel(u'Y数值')     #Y轴名字
29 # pt.subplot(3,1,1,facecolor='y')   #子图形颜色
30 # pt.plot(X,Y,'bo')     #b蓝色blue ,形状:o圆点
31 #
32 # A = np.linspace(-np.pi,np.pi,10)
33 # B = np.sin(A)
34 # C = np.cos(A)
35 # pt.subplot(3,3,4)
36 # pt.plot(A,B,'g+')     #g绿色green,形状:+
37 # pt.subplot(3,3,5)
38 # pt.plot(A,C,'r*')     #r红色red,形状:*
39 #
40 # M = np.linspace(2, 10, 20)
41 # N = np.log(M)
42 # pt.subplot(3,3,6,facecolor='g')
43 # pt.plot(M,N,'md')     #m紫色,形状d:钻石
44 #
45 # a = np.linspace(-100, 100, 20)
46 # b = a ** 2
47 # pt.subplot(3,2,5,facecolor='m')
48 # pt.plot(a,b,'bo')
49 # x = np.linspace(-100, 100, 20)
50 # y = x ** 2
51 # pt.subplot(3,2,6,facecolor='y')
52 # pt.plot(x,y,'b>')
53 # pt.show()
54 # subplot(3,2,6)可以简写为subplot(326)
55 
56 pt.figure()
57 # pt.rcParams['font.sans-serif'] = ['字体名']
58 myfont = font_manager.FontProperties(fname=u'C:\Windows\Fonts\时尚中黑简体.ttf')
59 X = np.linspace(-np.pi, np.pi, 50)
60 Y = X ** 2
61 Y1 = X ** 3
62 Y2 = np.sin(X)
63 # 设置xy轴上下限
64 pt.xlim(-np.pi, np.pi)
65 pt.ylim(-1, 1)
66 # 设置x轴每个显示刻度
67 pt.xticks([-np.pi, -np.pi / 2, 0, np.pi / 2, np.pi])
68 # 设置某点坐标的文字:x坐标,y坐标以数据刻度为基准,显示的内容,字体配置
69 pt.text(0.0, 0.5, 'ljb', fontdict={'size': '16', 'color': 'm'})
70 # 添加标注:xy:标注箭头想要指示的点,xytext:描述信息所在的坐标,arrowprops:设置箭头样式,shrink:箭头长度
71 pt.annotate('note!', xy=(np.pi / 2, 1), xytext=(np.pi / 2, 0.25), fontsize=16,
72             arrowprops=dict(facecolor='y', shrink=0.01))
73 
74 pt.xlabel(u'X数值', fontproperties=myfont, fontsize=12)  # X轴名字及字体设置
75 pt.ylabel(u'Y数值', fontproperties=myfont, fontsize=12)  # Y轴名字及字体设置
76 pt.title(u'函数图像', fontproperties=myfont, fontsize=16)  # 图形及字体设置
77 # pt.plot(X,Y,label=u'X2函数')
78 # pt.plot(X,Y1,label=u'X3函数')
79 pt.plot(X, Y2, 'bo', label=u'sinx函数')  # label设置图例
80 pt.legend(prop=myfont)  # 显示图例并设置字体
81 pt.show()

柱状图

 1 # coding=utf-8
 2 import numpy as np
 3 import matplotlib.pyplot as pt
 4 
 5 # 柱状图--------------------------------------
 6 k = 10
 7 x = np.arange(k)    #生成序列数组
 8 y = np.random.rand(k)   #生成对应的随机数
 9 for t in x:     #text设置某点坐标的文字,ha,va设置文字位置,
10     pt.text(t,y[t]+0.01,'%.2f' % y[t],ha='center',va='bottom',fontdict={'size':'10','color':'r'})
11 pt.annotate('%.2f' % y[4],xy=(4,y[4]+0.05),xytext=(4.3,y[4]+0.15),fontsize=16,arrowprops=dict(facecolor='y',arrowstyle='fancy'),bbox = dict(boxstyle="sawtooth",fc="0.8"))
12 pt.bar(x,y)
13 # pt.barh(x,y)      #横向柱状图
14 pt.show()
15 
16 # 子图配置-----------------------------------------
17 # pt.figure(figsize=(10, 6))
18 # X = np.linspace(-np.pi, np.pi, 30)
19 # Y_sin = np.sin(X)
20 # Y_cos = np.cos(X)
21 #
22 # # 获取子图的配置
23 # ax_sin = pt.subplot(121)      #需要把子图存起来
24 # ax_sin.set_title('Sin(X)')    #单独设置某个子图
25 # ax_sin.set_xlabel('X')        #单独设置某个子图x轴名字
26 # ax_sin.set_ylabel('Y')        #单独设置某个子图y轴名字
27 # pt.plot(Y_sin, 'bo')
28 #
29 # ax_cos = pt.subplot(122)
30 # ax_cos.set_title('Cos(X)')
31 # ax_cos.set_xlabel('X')
32 # ax_cos.set_ylabel('Y')
33 # pt.plot(Y_cos, 'r-')
34 #
35 # pt.show()
36 
37 # 分类柱状图-----------------------------------------------
38 # from matplotlib import font_manager
39 #
40 # myfont = font_manager.FontProperties(fname=u'C:\Windows\Fonts\时尚中黑简体.ttf')
41 #
42 # b_16 = [15746, 312, 4497, 319]
43 # b_15 = [12357, 156, 2045, 168]
44 # b_14 = [2358, 399, 2358, 362]
45 # a = [u'猩球崛起3', u'敦刻尔克', u'蜘蛛侠', u'战狼2']
46 #
47 # bar_width = 0.2 #设置一个条状图的宽度
48 #
49 # x_14 = list(range(len(a)))
50 # x_15 = [i + bar_width for i in x_14]
51 # x_16 = [i + bar_width * 2 for i in x_14]
52 #
53 # # 设置图形大小,分辨率
54 # pt.figure(figsize=(12, 6), dpi=80)
55 #
56 # ax = pt.subplot(211)
57 #
58 # ax.set_title('Counter')
59 # ax.set_xlabel('X')
60 #参数1:位置列表,参数2:数据列表,参数3:柱宽,参数4:图例
61 # pt.bar(range(len(a)), b_14, width=bar_width, label=u'9月14日')
62 # pt.bar(x_15, b_15, width=bar_width, label=u'9月15日')
63 # pt.bar(x_16, b_16, width=bar_width, label=u'9月16日')
64 #
65 # # 设置图例
66 # pt.legend(prop=myfont)
67 #
68 # # 设置x轴的刻度
69 # pt.xticks(x_15, a, fontproperties=myfont)
70 # pt.show()

小案例

导入类库

1 from matplotlib import font_manager
2 import numpy as np
3 import matplotlib.pyplot as pt

数据准备

 

1 score_array = np.genfromtxt('score.csv', delimiter=',', dtype=int)
2 courses = [u'数学', u'语文', u'化学', u'地理', u'音乐', u'体育']
3 students = [u'小数', u'小语', u'小化', u'小地', u'小音', u'小体']
4 
5 myfont = font_manager.FontProperties(fname=u'C:\Windows\Fonts\时尚中黑简体.ttf')

数据提取

 

 1 student_0 = score_array[:,0]
 2 student_1 = score_array[:,1]
 3 student_2 = score_array[:,2]
 4 student_3 = score_array[:,3]
 5 student_4 = score_array[:,4]
 6 student_5 = score_array[:,5]
 7 
 8 bar_width = 0.1
 9 x_0 = list(range(len(students)))
10 x_1 = [i + bar_width for i in x_0]
11 x_2 = [i + bar_width * 2 for i in x_0]
12 x_3 = [i + bar_width * 3 for i in x_0]
13 x_4 = [i + bar_width * 4 for i in x_0]
14 x_5 = [i + bar_width * 5 for i in x_0]

作图

 

 1 pt.figure(figsize=(12, 5),dpi=80)
 2 ax = pt.subplot(111)
 3 
 4 ax.set_title('Score')
 5 ax.set_xlabel('Students')
 6 ax.set_ylabel('y')
 7 
 8 pt.bar(range(len(students)), student_0, width=bar_width, label=courses[0])
 9 pt.bar(x_1, student_1, width=bar_width, label=courses[1])
10 pt.bar(x_2, student_2, width=bar_width, label=courses[2])
11 pt.bar(x_3, student_3, width=bar_width, label=courses[3])
12 pt.bar(x_4, student_4, width=bar_width, label=courses[4])
13 pt.bar(x_5, student_5, width=bar_width, label=courses[5])
14 
15 pt.legend(prop=myfont)
16 pt.xticks([i + bar_width * 2.5 for i in x_0], students, fontproperties=myfont)
17 pt.show()

 

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

数据分析——matplotlib

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

数据分析——matplotlib

基础 1 # coding=utf-8 2 import matplotlib.pyplot as pt 3 import numpy as np 4 from matplotlib import font_manager # 字体管理
2023-01-30

手把手带你了解Python数据分析--matplotlib

目录柱形图条形图折线图饼图和圆环图分离饼图块圆环图总结柱形图 bar()函数绘制柱形图import matplotlib.pyplot as pl x = [1,2,3,4,5,6,7] y = [15,69,85,12,36,95,11]
2022-06-10

Python数据分析之Matplotlib 3D图怎么实现

这篇文章主要讲解了“Python数据分析之Matplotlib 3D图怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python数据分析之Matplotlib 3D图怎么实现”吧!M
2023-06-30

Python数据分析之怎么用Matplotlib绘制饼图

这篇文章主要介绍“Python数据分析之怎么用Matplotlib绘制饼图”,在日常操作中,相信很多人在Python数据分析之怎么用Matplotlib绘制饼图问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”P
2023-06-30

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录