python6维图_python_matplotlib画三维图

本文介绍了如何使用Python的matplotlib库创建二维泡泡图来表示三维数据,以及绘制三维螺旋线图。首先,展示了如何通过scatter函数创建泡泡图,参数包括泡泡的坐标、大小、边线宽度和颜色。接着,利用mpl_toolkits.mplot3d的Axes3D工具,绘制了三维螺旋线,并解释了代码中的关键部分,如设定图形范围和保存图片的dpi设置。
摘要由CSDN通过智能技术生成

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

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

plt.scatter(P[:,0], P[:,1], s=S, lw = 1.5,

edgecolors = C, facecolors='None')

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

代码及注释

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()

结果

5a30e2896cc0?t=123

Paste_Image.png

三维螺旋线图

5a30e2896cc0?t=123

三维螺旋线图

需要导入三维工具mplot3d

from mpl_toolkits.mplot3d import Axes3D

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

projection='3d'

完整代码及注释

from mpl_toolkits.mplot3d import Axes3D

import numpy as np

import matplotlib.pyplot as plt

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()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值