Python使用matplotlib绘制三维图形示例
作者:Kedi 发布时间:2022-09-14 10:53:14
标签: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程序设计有所帮助。
来源:https://www.jianshu.com/p/5a30e2896cc0
0
投稿
猜你喜欢
- 1、背景a、搜狗也发布了自己的人工智能 api,包括身份证ocr、名片ocr、文本翻译等API,初试感觉准确率一般般。b、基于python3
- 使用tkFileDialog实现文件选择、保存和路径选择概述看了下Tkinter的文档,对于Pop-up dialog有三类,现在用到的是t
- 我就废话不多说了,还是直接看代码吧def c(a,b): c=a**2+b**2 return ("the right trian
- 说明本实例能够监控聚划算的抢购按钮,在聚划算整点聚的时间到达时发出提醒(音频文件自己定义位置)并自动弹开页面(URL自己定义)。同时还可以通
- 一.用SqlConnection连接SQL Server 1..加入命名空间 using System.Data.Sql
- MySQL批量插入数据脚本#!/bin/bashi=1;MAX_INSERT_ROW_COUNT=$1;while [ $i -le $MA
- 代码如下:USE [tempdb] GO /****** Object: UserDefinedFunction [dbo].[fun_ge
- 滚动条是什么大家自然都是知道的,可以非常直观地显示数据的变化,或者可以非常方便地改变某些数值。此前在介绍按钮、静态文本、输入文本这三个控件时
- pycharm确实要比Spyder功能全面,但是anaconda的环境配置实在太方便了,所以想take both,其实很简单,利用pycha
- 代码:import sys # 导入系统模块获得cmd的参数import tracebackdef TEST(params):
- 如何下载最新版本的MySQL?我先去MySQL首页下载最新版本的MySQL-链接:https://www.mysql.com/downloa
- 可以写一个函数: 主要是使用正则来判断。另外输入字符是空的话,使用"-"来替换。CREATE FUNCTION [dbo
- 声明定位元素:position属性值设置除默认值static以外的元素,包括relative,absolute,fixed。平台:win/I
- 一、TensorBoardTensorBoard 一般都是作为 TensorFlow 的可视化工具,与 TensorFlow 深度集成,它能
- 首先我们来看个示例:<form name="buyerForm" method="post"
- python中的变量定义是很灵活的,很容易搞混淆,特别是对于class的变量的定义,如何定义使用类里的变量是我们维护代码和保证代码稳定性的关
- 本文实例讲述了Python高级变量类型。分享给大家供大家参考,具体如下:目标列表元组字典字符串公共方法变量高级知识点回顾Python 中数据
- 本文汇总了Python中numpy.float32方法的典型用法代码示例,可以为大家提供其具体用法示例。示例1:draw_imageimpo
- 最近一个项目中遇到ASP对FoxPro库表(*.DBF)的操作问题。现实中确有许多应用软件使
- 如下所示:#! /usr/bin/python3# coding = utf-8# from PyQt5 import QtGui,QtCo