首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在pyplot mplot3d中读取csv文件和绘图

在pyplot mplot3d中读取csv文件和绘图
EN

Stack Overflow用户
提问于 2020-08-19 15:35:41
回答 1查看 3.9K关注 0票数 0

我有一个csv文件,它的z值网格对应于x[1,2,3,4]中,y[1,2,3]中,如下所示:

代码语言:javascript
复制
1.1,1.2,1.3
2.1,2.2,2.3
3.1,3.2,3.3
4.1,4.2,4.3

我想用mplot3d制作一个三维散点图。怎样才能正确地读取文件并绘制3D图?

EN

回答 1

Stack Overflow用户

发布于 2020-08-20 16:04:16

我不确定我是否正确地理解了您的问题,但是如果CSV文件的第一列包含x坐标、第二列包含y坐标和第三z坐标,这实际上非常容易。

假设您的CSV文件看起来如下(标题很重要):

points.csv

代码语言:javascript
复制
x,y,z <- titles
1.1,1.2,1.3
2.1,2.2,2.3
3.1,3.2,3.3
4.1,4.2,4.3

现在,您可以用pandas在一行中读取该文件

代码语言:javascript
复制
points = pandas.read_csv('points.csv')

访问每一列也很容易:

代码语言:javascript
复制
points['x'].values #get the x coordinates

因此,您可以使用matplotlib来绘制点:

完整代码:

代码语言:javascript
复制
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import pandas

points = pandas.read_csv('points.csv')

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

x = points['x'].values
y = points['y'].values
z = points['z'].values

#  x   y   z  
# 1.1,1.2,1.3
# 2.1,2.2,2.3
# 3.1,3.2,3.3
# 4.1,4.2,4.3

ax.scatter(x, y, z, c='r', marker='o')

plt.show()

输出:

备注:

在线运行此代码

查看获取有关matplotlib三维绘图的更多信息。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63490462

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档