Python使用matplotlib绘制三维图形示例

本文实例讲述了Python使用matplotlib绘制三维图形。分享给大家供大家参考,具体如下:

用二维泡泡图表示三维数据

泡泡的坐标2维,泡泡的大小三维,使用到的函数

plt.scatter(P[:,0], P[:,1], s=S, lw = 1.5,
         edgecolors = C, facecolors='None')

其中P[:,0], P[:,1]为泡泡的坐标数据,s为泡泡的大小,lw为泡泡的边线宽度,edgecolors为边线颜色,facecolors为填充颜色

代码及注释

# -*- coding:utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt
fig = plt.figure(figsize=(9,6))
# 泡泡的数量
n = 50
size_min = 50
size_max = 50*50
# Ring position,rand可以产生2维数组
P = np.random.rand(n,2)
# Ring colors R,G,B,A
C = np.ones((n,4)) * (0,0,0,1)
# Alpha color channel goes from 0 (transparent) to 1 (opaque)
C[:,3] = np.linspace(0,1,n)
# Ring sizes
S = np.linspace(size_min, size_max, n)
# Scatter plot
plt.scatter(P[:,0], P[:,1], s=S, lw = 1.5,
         edgecolors = C, facecolors='None')
#range只能排列出整数,在排列小数时可以用到np.arange
plt.xlim(0,1), plt.xticks(np.arange(0,1.1,0.1))
plt.ylim(0,1), plt.yticks(np.arange(0,1.1,0.1))
plt.show()

运行结果:

三维螺旋线图

需要导入三维工具mplot3d

from mpl_toolkits.mplot3d import Axes3D

导入了这个工具后才能在add_subplot时添加参数

projection='3d'

完整代码及注释

# -*- coding:utf-8 -*-
from mpl_toolkits.mplot3d import Axes3D
import numpy as np
import matplotlib.pyplot as plt
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei'] #防止中文乱码
fig = plt.figure(figsize=(9,6))
#添加参数projection
ax = fig.add_subplot(111,projection='3d')
z = np.linspace(0, 6, 1000)
r = 1
x = r * np.sin(np.pi*2*z)
y = r * np.cos(np.pi*2*z)
#c是颜色
ax.plot(x, y, z, label=u'螺旋线', c='r')
ax.legend()
#存成图片,支持png格式
# dpi每英寸长度的点数,画出的三维图是矢量图,可以设置保存的dpi
plt.savefig('3d_fig.png',dpi=200)
plt.show()

注:这里针对中文显示问题做了处理,具体可以参考《Python使用matplotlib绘图无法显示中文问题的解决方法》。

参考网站:

https://matplotlib.org/mpl_toolkits/mplot3d/tutorial.html
https://matplotlib.org/gallery.html

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数学运算技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

(0)

相关推荐

  • python matplotlib库绘制条形图练习题

    练习一:假设你获取到了2017年内地电影票房前20的电影(列表a)和电影票房数据(列表b),那么如何更加直观的展示该数据? a = ["战狼2","速度与激情8","功夫瑜伽","西游伏妖篇","变形金刚5:最后的骑士","摔跤吧!爸爸","加勒比海盗5:死无对证","金刚:骷髅岛","极限特工:终极回归","生化危机

  • Python基于matplotlib实现绘制三维图形功能示例

    本文实例讲述了Python基于matplotlib实现绘制三维图形功能.分享给大家供大家参考,具体如下: 代码一: # coding=utf-8 import numpy as np import matplotlib.pyplot as plt import mpl_toolkits.mplot3d x,y = np.mgrid[-2:2:20j,-2:2:20j] #测试数据 z=x*np.exp(-x**2-y**2) #三维图形 ax = plt.subplot(111, project

  • Python实现曲线拟合操作示例【基于numpy,scipy,matplotlib库】

    本文实例讲述了Python实现曲线拟合操作.分享给大家供大家参考,具体如下: 这两天学习了用python来拟合曲线. 一.环境配置 本人比较比较懒,所以下载的全部是exe文件来安装,安装按照顺利来安装.自动会找到python的安装路径,一直点下一步就行.还有其他的两种安装方式:一种是解压,一种是pip.我没有尝试,就不乱说八道了. 没有ArcGIS 环境的,可以不看下面这段话了. 在配置环境时遇见一个小波折,就是原先电脑装过ArcGIS10.2 ,所以其会默认安装python2.7,而且pyth

  • python matplotlib库直方图绘制详解

    例题:假设你获取了250部电影的时长(列表a中),希望统计出这些电影时长的分布状态(比如时长为100分钟到120分钟电影的数量,出现的频率)等信息,你应该如何呈现这些数据? 一些概念及问题: 把数据分为多少组进行统计 组数要适当,太少会有较大的统计误差,太多规律不明显 组数:将数据分组,共分为多少组 组距:指每个小组的两个端点的距离 组数:极差 / 组距,也就是 (最大值-最小值)/ 组距 频数分布直方图与频率分布直方图,hist()方法需增加参数normed 注意:一般来说能够使用plt.hi

  • python matplotlib库绘制散点图例题解析

    假设通过爬虫你获取到了北京2016年3,10月份每天白天的最高气温(分别位于列表a,b),那么此时如何寻找出气温随时间(天)变化的某种规律? a = [11,17,16,11,12,11,12,6,6,7,8,9,12,15,14,17,18,21,16,17,20,14,15,15,15,19,21,22,22,22,23] b = [26,26,28,19,21,17,16,19,18,20,20,19,22,23,17,20,21,20,22,15,11,15,5,13,17,10,11,

  • Python使用matplotlib绘制正弦和余弦曲线的方法示例

    本文实例讲述了Python使用matplotlib绘制正弦和余弦曲线的方法.分享给大家供大家参考,具体如下: 一 介绍 关键词:绘图库 官网:http://matplotlib.org 二 代码 import numpy as np import matplotlib.pyplot as plt #line x=np.linspace(-np.pi,np.pi,256,endpoint=True) #定义余弦函数正弦函数 c,s=np.cos(x),np.sin(x) plt.figure(1)

  • Python matplotlib绘制饼状图功能示例

    本文实例讲述了Python matplotlib绘制饼状图功能.分享给大家供大家参考,具体如下: 一 代码 import numpy as np import matplotlib.pyplot as plt #The slices will be ordered and plotted counter-clockwise. labels ='Frogs','Hogs','Dogs','Logs' sizes =[15,30,45,10] colors =['yellowgreen','gold

  • Python Matplotlib实现三维数据的散点图绘制

    一.背景 近期项目即将开展,计划第一步就是实现数据的可视化,所以先学习一下数据展示相关Demo.选用Python2.7与Matplotlib来实现,平台采用Pycharm,值得一提的是,Matplotlib的安装前首先要安装Numpy包,但是在完成Numpy的安装之后,楼主不能在PyCharm平台下进行自动安装,或者CMD中使用类似pip install Matplotlib,参考网上解决方案后采用直接去官网下载相应的安装包直接运行安装到相关目录下.在此就不赘述了. 二. 参考 Python语言

  • Python的地形三维可视化Matplotlib和gdal使用实例

    我是以Python开门的,我还是觉得Python也可以进行地形三维可视化,当然这里需要借助第三方库,so,我就来介绍:Python一个很重要可视化插件,Matplotlib. Matplotlib是Python最著名的绘图库,它提供了一整套友好的命令,十分适合交互式地进行制图.而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中.你会发现Matplotlib和matlab相似,但是你知道matlab强大是很强大,但是安装包就有7G,一下就让我失去玩弄他的兴趣. Matplotlib的二维图形非

  • Python使用matplotlib绘制三维参数曲线操作示例

    本文实例讲述了Python使用matplotlib绘制三维参数曲线操作.分享给大家供大家参考,具体如下: 一 代码 import matplotlib as mpl from mpl_toolkits.mplot3d importAxes3D import numpy as np import matplotlib.pyplot as plt mpl.rcParams['legend.fontsize']=10#图例字号 fig = plt.figure() ax = fig.gca(proje

随机推荐