python matplotlib 绘图
1.散点图
import numpy as np
import matplotlib.pyplot as plt
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']#正常显示字体
mpl.rcParams['axes.unicode_minus'] = False#正常显示图像中的负号x=np.random.randint(low=2,high=10,size=10)
y=np.random.randint(low=2,high=10,size=10)
plt.scatter(x,y)
plt.title('散点图')
plt.xlabel('x')
plt.ylabel('y')
plt.show()
2.折线图
import numpy as np
import matplotlib.pyplot as plt
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] = Falsex=np.linspace(start=0,stop=30,num=300)
y=np.sin(x)
plt.plot(x,y)
plt.title('折线图')
plt.xlabel('x')
plt.ylabel('y')
plt.show()
3.柱状图
更多柱状图
python画柱状图并数值显示
import numpy as np
import matplotlib.pyplot as plt
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] = Falsex=['a','b','c','d']
y=[3,5,7,9]
plt.bar(x,y,width=0.5)
plt.title('柱状图')
plt.xlabel('x')
plt.ylabel('y')
plt.show()
4.直方图
import numpy as np
import matplotlib.pyplot as plt
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] = Falsex=np.random.normal(loc=10,scale=1,size=100)plt.hist(x,bins=50)
plt.title('直方图')
plt.xlabel('x')
plt.ylabel('y')
plt.show()
6.图形属性
常用的颜色属性
cnames = {'aliceblue': '#F0F8FF',
'antiquewhite': '#FAEBD7',
'aqua': '#00FFFF',
'aquamarine': '#7FFFD4',
'azure': '#F0FFFF',
'beige': '#F5F5DC',
'bisque': '#FFE4C4',
'black': '#000000',
'blanchedalmond': '#FFEBCD',
'blue': '#0000FF',
'blueviolet': '#8A2BE2',
'brown': '#A52A2A',
'burlywood': '#DEB887',
'cadetblue': '#5F9EA0',
'chartreuse': '#7FFF00',
'chocolate': '#D2691E',
'coral': '#FF7F50',
'cornflowerblue': '#6495ED',
'cornsilk': '#FFF8DC',
'crimson': '#DC143C',
'cyan': '#00FFFF',
'darkblue': '#00008B',
'darkcyan': '#008B8B',
'darkgoldenrod': '#B8860B',
'darkgray': '#A9A9A9',
'darkgreen': '#006400',
'darkkhaki': '#BDB76B',
'darkmagenta': '#8B008B',
'darkolivegreen': '#556B2F',
'darkorange': '#FF8C00',
'darkorchid': '#9932CC',
'darkred': '#8B0000',
'darksalmon': '#E9967A',
'darkseagreen': '#8FBC8F',
'darkslateblue': '#483D8B',
'darkslategray': '#2F4F4F',
'darkturquoise': '#00CED1',
'darkviolet': '#9400D3',
'deeppink': '#FF1493',
'deepskyblue': '#00BFFF',
'dimgray': '#696969',
'dodgerblue': '#1E90FF',
'firebrick': '#B22222',
'floralwhite': '#FFFAF0',
'forestgreen': '#228B22',
'fuchsia': '#FF00FF',
'gainsboro': '#DCDCDC',
'ghostwhite': '#F8F8FF',
'gold': '#FFD700',
'goldenrod': '#DAA520',
'gray': '#808080',
'green': '#008000',
'greenyellow': '#ADFF2F',
'honeydew': '#F0FFF0',
'hotpink': '#FF69B4',
'indianred': '#CD5C5C',
'indigo': '#4B0082',
'ivory': '#FFFFF0',
'khaki': '#F0E68C',
'lavender': '#E6E6FA',
'lavenderblush': '#FFF0F5',
'lawngreen': '#7CFC00',
'lemonchiffon': '#FFFACD',
'lightblue': '#ADD8E6',
'lightcoral': '#F08080',
'lightcyan': '#E0FFFF',
'lightgoldenrodyellow': '#FAFAD2',
'lightgreen': '#90EE90',
'lightgray': '#D3D3D3',
'lightpink': '#FFB6C1',
'lightsalmon': '#FFA07A',
'lightseagreen': '#20B2AA',
'lightskyblue': '#87CEFA',
'lightslategray': '#778899',
'lightsteelblue': '#B0C4DE',
'lightyellow': '#FFFFE0',
'lime': '#00FF00',
'limegreen': '#32CD32',
'linen': '#FAF0E6',
'magenta': '#FF00FF',
'maroon': '#800000',
'mediumaquamarine': '#66CDAA',
'mediumblue': '#0000CD',
'mediumorchid': '#BA55D3',
'mediumpurple': '#9370DB',
'mediumseagreen': '#3CB371',
'mediumslateblue': '#7B68EE',
'mediumspringgreen': '#00FA9A',
'mediumturquoise': '#48D1CC',
'mediumvioletred': '#C71585',
'midnightblue': '#191970',
'mintcream': '#F5FFFA',
'mistyrose': '#FFE4E1',
'moccasin': '#FFE4B5',
'navajowhite': '#FFDEAD',
'navy': '#000080',
'oldlace': '#FDF5E6',
'olive': '#808000',
'olivedrab': '#6B8E23',
'orange': '#FFA500',
'orangered': '#FF4500',
'orchid': '#DA70D6',
'palegoldenrod': '#EEE8AA',
'palegreen': '#98FB98',
'paleturquoise': '#AFEEEE',
'palevioletred': '#DB7093',
'papayawhip': '#FFEFD5',
'peachpuff': '#FFDAB9',
'peru': '#CD853F',
'pink': '#FFC0CB',
'plum': '#DDA0DD',
'powderblue': '#B0E0E6',
'purple': '#800080',
'red': '#FF0000',
'rosybrown': '#BC8F8F',
'royalblue': '#4169E1',
'saddlebrown': '#8B4513',
'salmon': '#FA8072',
'sandybrown': '#FAA460',
'seagreen': '#2E8B57',
'seashell': '#FFF5EE',
'sienna': '#A0522D',
'silver': '#C0C0C0',
'skyblue': '#87CEEB',
'slateblue': '#6A5ACD',
'slategray': '#708090',
'snow': '#FFFAFA',
'springgreen': '#00FF7F',
'steelblue': '#4682B4',
'tan': '#D2B48C',
'teal': '#008080',
'thistle': '#D8BFD8',
'tomato': '#FF6347',
'turquoise': '#40E0D0',
'violet': '#EE82EE',
'wheat': '#F5DEB3',
'white': '#FFFFFF',
'whitesmoke': '#F5F5F5',
'yellow': '#FFFF00',
'yellowgreen': '#9ACD32'}
marker可选参数
'.' point marker
',' pixel marker
'o' circle marker
'v' triangle_down marker
'^' triangle_up marker
'<' triangle_left marker
'>' triangle_right marker
'1' tri_down marker
'2' tri_up marker
'3' tri_left marker
'4' tri_right marker
's' square marker
'p' pentagon marker
'*' star marker
'h' hexagon1 marker
'H' hexagon2 marker
'+' plus marker
'x' x marker
'D' diamond marker
'd' thin_diamond marker
'|' vline marker
'_' hline marker
linestyle可选参数:
'-' solid line style
'--' dashed line style
'-.' dash-dot line style
':' dotted line style
import numpy as np
import matplotlib.pyplot as plt
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] = Falsex=np.linspace(start=0,stop=30,num=30)
y=np.sin(x)
plt.plot(x,y,color='r',marker='d',linestyle='--',linewidth=2,alpha=0.8)
plt.title("颜色:红,标记:菱形,线性:虚线,线宽:2,透明度:0.8")
plt.xlabel('x')
plt.ylabel('y')
plt.show()
7.子图
import numpy as np
import matplotlib.pyplot as plt
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] = Falsefig=plt.figure(figsize=(10,10))#指定画布大小
ax1=fig.add_subplot(2,2,1)#添加一个子图,返回子图句柄
ax2=fig.add_subplot(2,2,2)
ax3=fig.add_subplot(2,2,3)
ax4=fig.add_subplot(2,2,4)#子图1
x=np.linspace(start=0,stop=30,num=30)
y=sin(x)
ax1.plot(x,y)
ax1.set_xlabel('x')
ax1.set_ylabel('y')
ax1.set_title('子图1')#子图2
x=np.random.randint(low=2,high=10,size=10)
y=np.random.randint(low=2,high=10,size=10)
ax2.scatter(x,y)
ax2.set_xlabel('x')
ax2.set_ylabel('y')
ax2.set_title('子图2')
#子图3
x=['a','b','c','d']
y=[3,5,7,9]
ax3.bar(x,y,width=0.5)
ax3.set_xlabel('x')
ax3.set_ylabel('y')
ax3.set_title('子图3')#子图4
x=np.random.normal(loc=10,scale=1,size=100)
ax4.hist(x,bins=50)
ax4.set_xlabel('x')
ax4.set_ylabel('y')
ax4.set_title('子图4')plt.show()
或者
import numpy as np
import matplotlib.pyplot as plt
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] = Falsefig=plt.figure(figsize=(10,10))#指定画布大小
#fig.suptitle('大标题', fontsize=18)#子图1
plt.subplot(2,2,1)
x=np.linspace(start=0,stop=30,num=30)
y=sin(x)
plt.plot(x,y)
plt.xlabel('x')
plt.ylabel('y')
plt.title('子图1')#子图2
plt.subplot(2,2,2)
x=np.random.randint(low=2,high=10,size=10)
y=np.random.randint(low=2,high=10,size=10)
plt.scatter(x,y)
plt.xlabel('x')
plt.ylabel('y')
plt.title('子图2')
#子图3
plt.subplot(2,2,3)
x=['a','b','c','d']
y=[3,5,7,9]
plt.bar(x,y,width=0.5)
plt.xlabel('x')
plt.ylabel('y')
plt.title('子图3')#子图4
plt.subplot(2,2,4)
x=np.random.normal(loc=10,scale=1,size=100)
plt.hist(x,bins=50)
plt.xlabel('x')
plt.ylabel('y')
plt.title('子图4')
plt.show()
8.三维图:曲线
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] = Falsefig=plt.figure(figsize=(10,10))#指定画布大小
ax=fig.gca(projection='3d')#指定为3D#子图1
theta=np.linspace(-4*np.pi,4*np.pi,100)z=np.linspace(start=-2,stop=2,num=100)
r=z**2+1
x=r*np.sin(theta)
y=z*np.cos(theta)
ax.plot(x,y,z)
plt.show()
9.三维图:散点图
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] = Falsefig=plt.figure(figsize=(10,10))#指定画布大小
ax=fig.gca(projection='3d')#指定为3D#子图1
x1=np.random.random(100)*20
y1=np.random.random(100)*20
z=x1+y1
ax.scatter(x1,y1,z)
plt.show()
10.三维图:曲面图
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] = Falsefig=plt.figure(figsize=(10,10))#指定画布大小
ax=fig.gca(projection='3d')#指定为3Dx=np.arange(-5,5,0.25)
y=np.arange(-5,5,0.25)
x,y=np.meshgrid(x,y)#用np.meshgrid生成坐标网格矩阵
z=np.sin(np.sqrt(x**2+y**2))
#使用plot_surface函数
#cmap=cm.coolwarm是颜色属性
surf=ax.plot_surface(x,y,z,cmap=cm.coolwarm)
plt.show()
11.动态图
import matplotlib.pyplot as plt
import numpy as npPOINTS = 100
sin_list = [0] * POINTS
indx = 0
# fig, ax = plt.subplots()
while True:if indx == 40:indx = 0indx += 1# 更新绘图数据sin_list = sin_list[1:] + [np.sin((indx / 20) * np.pi)]# 显示时间plt.pause(0.01)# 清除上一次显示plt.cla()plt.plot(sin_list)# plt.draw()也可以放在这个位置,不会阻塞
plt.draw()
12.使图片可以手动保存
前面画的图,我们只能copy,不能自己手动保存。
添加一行代码import matplotlib; matplotlib.use('TkAgg')
即可实现
不加这行代码
加
import numpy as np
import matplotlib.pyplot as plt
import matplotlib; matplotlib.use('TkAgg')
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] = False
x=np.linspace(-2*np.pi,2*np.pi,400)
siny=np.sin(x)
cosy=np.cos(x)plt.plot(x,siny,color="red",label="sin(x)")
plt.plot(x,cosy,color="blue",label="cos(x)",linestyle="--")
plt.xlabel("输入数据 x")
plt.ylabel("sin(x) 或者 cos(x)")
plt.title("三角函数图")
plt.legend()
plt.show()
然后我们可以手动保存,可以保存为不同格式。
13.调整坐标轴刻度大小
在绘图里加一行代码即可
plt.tick_params(labelsize=23)
14.高级三维 曲线图
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] = Falsefig=plt.figure(figsize=(10,10))#指定画布大小
ax=fig.gca(projection='3d')#指定为3D#子图1
theta=np.linspace(-4*np.pi,4*np.pi,100)
x=np.sin(theta)
y=np.cos(theta)ax.plot(np.ones(len(x)),np.arange(len(x)),x)
ax.plot(2*np.ones(len(x)),np.arange(len(x)),x)
ax.plot(3*np.ones(len(y)),np.arange(len(y)),y)
#plt.axis('off')#关闭所有坐标轴
ax.set_xlabel('个数')
ax.set_ylabel('长度')
ax.set_zlabel('数')
plt.legend()
plt.show()
作者:电气余登武
python matplotlib 绘图相关推荐
- python画图显示不了中文_完美解决Python matplotlib绘图时汉字显示不正常的问题
Matplotlib是一个很好的作图软件,但是python下默认不支持中文,所以需要做一些修改,方法如下: 1.在python安装目录的Lib目录下创建ch.py文件. 文件中代码为: 保存,以后通过 ...
- Python+matplotlib绘图时显示中文的设置方法
封面图片:<Python程序设计基础与应用>(ISBN:9787111606178),董付国,机械工业出版社 图书详情: =================== 在使用Python+mat ...
- python 3d绘图 汉字_完美解决Python matplotlib绘图时汉字显示不正常的问题
Matplotlib是一个很好的作图软件,但是python下默认不支持中文,所以需要做一些修改,方法如下: 1.在python安装目录的Lib目录下创建ch.py文件. 文件中代码为: 保存,以后通过 ...
- 科研论文绘图:ppt, word,latex,python matplotlib绘图 ,矢量图,高清图,放大不失真
目录 1. 用PPT绘图,保存为高清图片,不推荐使用,方法链接 2. 用PPT绘图,保存为emf矢量图,适合插入word,方法链接 3. 用PPT画图,保存为eps文件,适合插入latex,方法链接 ...
- Python Matplotlib绘图的正确打开方式
Python Matplotlib绘图的正确打开方式 文章目录 Python Matplotlib绘图的正确打开方式 1.先搞懂fig.axes.axis `Figure` `Axes` `Axis` ...
- 解决 Python Matplotlib 绘图时不连续x轴自动补全的问题(xsticks)
问题 发现一个奇怪的问题,记录一下: 用 Python Matplotlib绘图的时候,x轴为不连续的日期,但是画出来的图,对于不连续的部分x轴会自动补全,空出来的部分是没有值的.(x轴数据明明是明确 ...
- python绘制3d图-Python matplotlib绘图示例 - 绘制三维图形
Python matplotlib模块是扩展的MATLAB的一个绘图工具库.它可以绘制各种图形,下面就学习了下Python中的matplotlib模块,如何绘制三维图形. 示例代码一: # codin ...
- 使用Python Matplotlib绘图并输出图像到文件中的实践
在大数据及深度学习的背景下,随着卷积神经网络(CNN)的成功应用,图像识别能力好像唾手可得.最近实际工作中,却遇到了困难,难题是用于可学习的图像贫乏,很难形成用于学习的样本. 其实,也是有一定解决图像 ...
- python matplotlib绘图 axes和pyplot用法的区别是什么?子图subplot
在matplotlib绘图过程中,经常会出现axes绘图和pyplot绘图这两种方法,但是如果不搞清楚它们的区别,往往会得不到你想要的图形.所谓axes绘图是指调用axes对象(坐标轴对象)去完成绘图 ...
- Python+matplotlib绘图使用Latex引擎渲染坐标轴刻度文本上标
问题描述: 在使用matplotlib进行数据可视化或科学计算可视化时,有时候数值过大或过小,使得坐标轴刻度显示不方便,这时可以考虑使用科学计数法,例如把10000显示为,把0.00001显示为. 在 ...
最新文章
- Image转Base64镶嵌网页中
- redis学习-列表(list)常用命令
- Scrum立会报告+燃尽图(Final阶段第四次)
- 内容页超连接关键词的完美实现
- [转] 39万的一节课:让你悟透“近朱者赤,近墨者黑”的道理
- android原生滑块验证
- 树莓派-1、上手及资源
- 计算机应用系特色活动,职教桥:用匠心打造计算机应用专业特色课程体系
- http的长连接和短连接(史上最通俗!)以及应用场景
- ftp服务器可以异地传文件吗,FTP图片上传到异地服务器
- 笔记本电脑触控板突然失灵的解决办法
- DNS正反向域名解析与主从切换 服务搭建
- Celery 全面学习笔记
- 基于Cortex-A7架构的嵌入式linux ARM裸机开发<2>——LED灯闪烁(C版本)
- python 密码验证
- 改变PPT导出图片分辨率
- 3.线程安全之可见性、有序性、原子性是什么?
- Elmedia Player Pro for Mac专业破解版永久激活方法
- 新冠「阳了」,如何稳定情绪,做好心理自救?
- Vue学习之路(8)------快餐店收银系统
热门文章
- python怎么玩pdf_如何使用Python玩转PDF各种骚操作?
- JavaScript——易班优课YOOC课群在线测试自动答题解决方案(二十二)脚本更新3.1
- Tensorflow——[Could not load dynamic library cudart64_101.dll]解决方案
- BugKuCTF 加密 ok
- Ajax和JSON-学习笔记04【JSON_解析器】
- zzuliOJ【土豪婷婷请吃饭】【解法:Java二维数组】
- 宝塔使用webhook自动部署php项目
- html 常用的标签
- 对称加密算法原理--OpenSSL演示、iOS代码运用及CCCrypt安全隐患
- java 动态代理深度学习(Proxy,InvocationHandler)