Python画图

Python画图前言 Python 画图主要用到 matplotlib 这个库 具体来说是 pylab 和 pyplot 这两个子库 这两个库可以满足基本的画图需求 文末送读者福利 pylab 神器 pylab rcParams update params 这个函数几乎可以调节图的一切属性 包括但不限于 坐标范围

大家好,我是讯享网,很高兴认识大家。

前言

Python画图主要用到matplotlib这个库。具体来说是pylab和pyplot这两个子库。这两个库可以满足基本的画图需求。

(文末送读者福利)

pylab神器:pylab.rcParams.update(params)。这个函数几乎可以调节图的一切属性,包括但不限于:坐标范围,axes标签字号大小,xtick,ytick标签字号,图线宽,legend字号等。

(文末送读者福利)

scatter和 plot 函数的不同之处

scatter才是离散点的绘制程序,plot准确来说是绘制线图的,当然也可以画离散点。

scatter/scatter3做散点的能力更强,因为他可以对散点进行单独设置
所以消耗也比plot/plot3大
所以如果每个散点都是一致的时候,还是用plot/plot3好以下
如果要做一些plot没法完成的事情那就只能用scatter了

scatter强大,但是较慢。所以如果你只是做实例中的图,plot足够了。

plt.ion()用于连续显示。

#plot the real data
fig = plt.figure()
ax = fig.add_subplot(1,1,1)
ax.scatter(x_data, y_data)
plt.ion()#本次运行请注释,全局运行不要注释
plt.show()
首先在python中使用任何第三方库时,都必须先将其引入。即:

import matplotlib.pyplot as plt 

讯享网
讯享网from matplotlib.pyplot import * 

1.建立空白图

fig = plt.figure() 

也可以指定所建立图的大小

讯享网fig = plt.figure(figsize=(4,2)) 

也可以建立一个包含多个子图的图,使用语句:

plt.figure(figsize=(12,6)) plt.subplot(231) plt.subplot(232) plt.subplot(233) plt.subplot(234) plt.subplot(235) plt.subplot(236) plt.show() 

其中subplot()函数中的三个数字,第一个表示Y轴方向的子图个数,第二个表示X轴方向的子图个数,第三个则表示当前要画图的焦点。

当然上述写法并不是唯一的,比如我们也可以这样写:

讯享网fig = plt.figure(figsize=(6, 6)) ax1 = fig.add_subplot(221) ax2 = fig.add_subplot(222) ax3 = fig.add_subplot(223) ax4 = fig.add_subplot(224) plt.show() 

在这里插入图片描述
讯享网
plt.subplot(111)和plt.subplot(1,1,1)是等价的。意思是将区域分成1行1列,当前画的是第一个图(排序由行至列)。

plt.subplot(211)意思就是将区域分成2行1列,当前画的是第一个图(第一行,第一列)。以此类推,只要不超过10,逗号就可省去。

ax1.axis([-1, 1, -1, 1]) 

或者:

讯享网plt.axis([-1, 1, -1, 1]) 

效果如下:

在这里插入图片描述

2.向空白图中添加内容,想你所想,画你所想

首先给出一组数据:

x = [1, 2, 3, 4, 5] y = [2.3, 3.4, 1.2, 6.6, 7.0] 

A.画散点图*

讯享网plt.scatter(x, y, color='r', marker='+') plt.show() 

效果如下:

在这里插入图片描述
这里的参数意义:

b---blue c---cyan g---green k----black m---magenta r---red w---white y----yellow 

有四种表示颜色的方式:

用全名
16进制,如:#FF00FF
灰度强度,如:‘0.7’
控制标记风格:marker为散点的标记,标记风格有多种:

讯享网. Point marker , Pixel marker o Circle marker v Triangle down marker ^ Triangle up marker < Triangle left marker > Triangle right marker 1 Tripod down marker 2 Tripod up marker 3 Tripod left marker 4 Tripod right marker s Square marker p Pentagon marker * Star marker h Hexagon marker H Rotated hexagon D Diamond marker d Thin diamond marker | Vertical line (vlinesymbol) marker _ Horizontal line (hline symbol) marker + Plus marker x Cross (x) marker 

B.函数图(折线图)

数据还是上面的。

fig = plt.figure(figsize=(12, 6)) plt.subplot(121) plt.plot(x, y, color='r', linestyle='-') plt.subplot(122) plt.plot(x, y, color='r', linestyle='--') plt.show() 

效果如下:

在这里插入图片描述
这里有一个新的参数linestyle,控制的是线型的格式:符号和线型之间的对应关系

讯享网- 实线 -- 短线 -. 短点相间线 : 虚点线 

另外除了给出数据画图之外,我们也可以利用函数表达式进行画图,例如:y=sin(x)

from math import * from numpy import * x = arange(-math.pi, math.pi, 0.01) y = [sin(xx) for xx in x] plt.figure() plt.plot(x, y, color='r', linestyle='-.') plt.show() 

效果如下:

在这里插入图片描述

C.扇形图

示例:

讯享网import matplotlib.pyplot as plt y = [2.3, 3.4, 1.2, 6.6, 7.0] plt.figure() plt.pie(y) plt.title('PIE') plt.show() 

效果如下:

在这里插入图片描述

D.柱状图bar

示例:

import matplotlib.pyplot as plt x = [1, 2, 3, 4, 5] y = [2.3, 3.4, 1.2, 6.6, 7.0] plt.figure() plt.bar(x, y) plt.title("bar") plt.show() 

效果如下:

在这里插入图片描述

E.二维图形(等高线,本地图片等)

讯享网import matplotlib.pyplot as plt import numpy as np import matplotlib.image as mpimg # 2D data delta = 0.025 x = y = np.arange(-3.0, 3.0, delta) X, Y = np.meshgrid(x, y) Z = Y2 + X2 plt.figure(figsize=(12, 6)) plt.subplot(121) plt.contour(X, Y, Z) plt.colorbar() plt.title("contour") # read image img=mpimg.imread('marvin.jpg') plt.subplot(122) plt.imshow(img) plt.title("imshow") plt.show() #plt.savefig("matplot_sample.jpg") 

效果图:

在这里插入图片描述

F.对所画图进行补充

__author__ = 'wenbaoli' import matplotlib.pyplot as plt from math import * from numpy import * x = arange(-math.pi, math.pi, 0.01) y = [sin(xx) for xx in x] plt.figure() plt.plot(x, y, color='r', linestyle='-') plt.xlabel(u'X')#fill the meaning of X axis plt.ylabel(u'Sin(X)')#fill the meaning of Y axis plt.title(u'sin(x)')#add the title of the figure plt.show() 

效果图:

在这里插入图片描述
画网络图,要用到networkx这个库,下面给出一个实例:

讯享网import networkx as nx import pylab as plt g = nx.Graph() g.add_edge(1,2,weight = 4) g.add_edge(1,3,weight = 7) g.add_edge(1,4,weight = 8) g.add_edge(1,5,weight = 3) g.add_edge(1,9,weight = 3) g.add_edge(1,6,weight = 6) g.add_edge(6,7,weight = 7) g.add_edge(6,8,weight = 7) g.add_edge(6,9,weight = 6) g.add_edge(9,10,weight = 7) g.add_edge(9,11,weight = 6) fixed_pos = {1:(1,1),2:(0.7,2.2),3:(0,1.8),4:(1.6,2.3),5:(2,0.8),6:(-0.6,-0.6),7:(-1.3,0.8), 8:(-1.5,-1), 9:(0.5,-1.5), 10:(1.7,-0.8), 11:(1.5,-2.3)} #set fixed layout location #pos=nx.spring_layout(g) # or you can use other layout set in the module nx.draw_networkx_nodes(g,pos = fixed_pos,nodelist=[1,2,3,4,5], node_color = 'g',node_size = 600) nx.draw_networkx_edges(g,pos = fixed_pos,edgelist=[(1,2),(1,3),(1,4),(1,5),(1,9)],edge_color='g',width = [4.0,4.0,4.0,4.0,4.0],label = [1,2,3,4,5],node_size = 600) nx.draw_networkx_nodes(g,pos = fixed_pos,nodelist=[6,7,8], node_color = 'r',node_size = 600) nx.draw_networkx_edges(g,pos = fixed_pos,edgelist=[(6,7),(6,8),(1,6)],width = [4.0,4.0,4.0],edge_color='r',node_size = 600) nx.draw_networkx_nodes(g,pos = fixed_pos,nodelist=[9,10,11], node_color = 'b',node_size = 600) nx.draw_networkx_edges(g,pos = fixed_pos,edgelist=[(6,9),(9,10),(9,11)],width = [4.0,4.0,4.0],edge_color='b',node_size = 600) plt.text(fixed_pos[1][0],fixed_pos[1][1]+0.2, s = '1',fontsize = 40) plt.text(fixed_pos[2][0],fixed_pos[2][1]+0.2, s = '2',fontsize = 40) plt.text(fixed_pos[3][0],fixed_pos[3][1]+0.2, s = '3',fontsize = 40) plt.text(fixed_pos[4][0],fixed_pos[4][1]+0.2, s = '4',fontsize = 40) plt.text(fixed_pos[5][0],fixed_pos[5][1]+0.2, s = '5',fontsize = 40) plt.text(fixed_pos[6][0],fixed_pos[6][1]+0.2, s = '6',fontsize = 40) plt.text(fixed_pos[7][0],fixed_pos[7][1]+0.2, s = '7',fontsize = 40) plt.text(fixed_pos[8][0],fixed_pos[8][1]+0.2, s = '8',fontsize = 40) plt.text(fixed_pos[9][0],fixed_pos[9][1]+0.2, s = '9',fontsize = 40) plt.text(fixed_pos[10][0],fixed_pos[10][1]+0.2, s = '10',fontsize = 40) plt.text(fixed_pos[11][0],fixed_pos[11][1]+0.2, s = '11',fontsize = 40) plt.show() 

结果如下:

在这里插入图片描述

一、Python入门

下面这些内容是Python各个应用方向都必备的基础知识,想做爬虫、数据分析或者人工智能,都得先学会他们。任何高大上的东西,都是建立在原始的基础之上。打好基础,未来的路会走得更稳重。所有资料文末免费领取!!!

包含:

计算机基础

在这里插入图片描述

python基础

在这里插入图片描述

Python入门视频600集:

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

二、Python爬虫

爬虫作为一个热门的方向,不管是在自己兼职还是当成辅助技能提高工作效率,都是很不错的选择。

通过爬虫技术可以将相关的内容收集起来,分析删选后得到我们真正需要的信息。

这个信息收集分析整合的工作,可应用的范畴非常的广泛,无论是生活服务、出行旅行、金融投资、各类制造业的产品市场需求等等,都能够借助爬虫技术获取更精准有效的信息加以利用。

在这里插入图片描述

Python爬虫视频资料

在这里插入图片描述

三、数据分析

清华大学经管学院发布的《中国经济的数字化转型:人才与就业》报告显示,2025年,数据分析人才缺口预计将达230万。

这么大的人才缺口,数据分析俨然是一片广阔的蓝海!起薪10K真的是家常便饭。

在这里插入图片描述

四、数据库与ETL数仓

企业需要定期将冷数据从业务数据库中转移出来存储到一个专门存放历史数据的仓库里面,各部门可以根据自身业务特性对外提供统一的数据服务,这个仓库就是数据仓库。

传统的数据仓库集成处理架构是ETL,利用ETL平台的能力,E=从源数据库抽取数据,L=将数据清洗(不符合规则的数据)、转化(对表按照业务需求进行不同维度、不同颗粒度、不同业务规则计算进行统计),T=将加工好的表以增量、全量、不同时间加载到数据仓库。

在这里插入图片描述

五、机器学习

机器学习就是对计算机一部分数据进行学习,然后对另外一些数据进行预测与判断。

机器学习的核心是“使用算法解析数据,从中学习,然后对新数据做出决定或预测”。也就是说计算机利用以获取的数据得出某一模型,然后利用此模型进行预测的一种方法,这个过程跟人的学习过程有些类似,比如人获取一定的经验,可以对新问题进行预测。

在这里插入图片描述

机器学习资料:

在这里插入图片描述

六、Python高级进阶

从基础的语法内容,到非常多深入的进阶知识点,了解编程语言设计,学完这里基本就了解了python入门到进阶的所有的知识点。

在这里插入图片描述

到这就基本就可以达到企业的用人要求了,如果大家还不知道去去哪找面试资料和简历模板,我这里也为大家整理了一份,真的可以说是保姆及的系统学习路线了。

在这里插入图片描述
但学习编程并不是一蹴而就,而是需要长期的坚持和训练。整理这份学习路线,是希望和大家共同进步,我自己也能去回顾一些技术点。不管是编程新手,还是需要进阶的有一定经验的程序员,我相信都可以从中有所收获。

一蹴而就,而是需要长期的坚持和训练。整理这份学习路线,是希望和大家共同进步,我自己也能去回顾一些技术点。不管是编程新手,还是需要进阶的有一定经验的程序员,我相信都可以从中有所收获。

资料领取

这份完整版的Python全套学习资料已经上传网盘,朋友们如果需要可以点击下方微信卡片免费领取 ↓↓↓【保证100%免费】
或者

【点此链接】领取

好文推荐

了解python的前景:https://blog.csdn.net/SpringJavaMyBatis/article/details/

了解python的兼职副业:https://blog.csdn.net/SpringJavaMyBatis/article/details/

小讯
上一篇 2025-04-07 11:46
下一篇 2025-03-16 11:20

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/49000.html