来自通过串联多个文件创建的文本文件的交互式3D散点图

我在目录中有多个具有特定文件名格式的文本文件,我想将所有文件中的所有内容连接到单个.csv文件中,并且需要使用最终文件中的特定数据列制作交互式3D散点图CSV档案。为此,我尝试将文件的数据连接为一个。但是我的输出大约有5000个条目,而不是500个(500个条目之后,这些值会重复出现)。帮我找到错误。

[交互式绘图:可以使用鼠标放大/缩小/旋转绘图]

import fnmatch
import pandas as pd

data = pd.DataFrame()
for f_name in os.listdir(os.getcwd()):
 if fnmatch.fnmatch(f_name,'hypodD.reloc.*'):
     print(f_name)
     df=pd.read_csv(f_name,header=None,sep="\s+|\t")
     data=data.append(df,ignore_index=True)
     #print(data)


data.to_csv('outfile.txt',index=False)

OR

我想使用每个文件中的特定数据列制作一个交互式的3D散点图,并且每个文件的数据应以不同的散点色表示。 (我有〜18个不同的文件,我什至都不知道18个不同的颜色名称!)

wsbnsb 回答:来自通过串联多个文件创建的文本文件的交互式3D散点图

最后,我可以编写代码,即使图形需要更多修改,例如(设置轴限制,减小散布大小,根据每个文件指定散布颜色,Z轴方向应向下)>

建议?

import os
import glob

mypath = os.getcwd()
file_count = len(glob.glob1(mypath,"hypoDD.reloc.*"))
print("Number of clusters is:",file_count)

# Get .txt files

import fnmatch
import pandas as pd

data = pd.DataFrame()
for f_name in os.listdir(os.getcwd()):
 if fnmatch.fnmatch(f_name,'hypoDD.reloc.*'):
     print(f_name)
     df=pd.read_csv(f_name,header=None,sep="\s+|\t")
     data=data.append(df,ignore_index=True)
     #print(data)


data.to_csv('outfile.txt',index=False)
latitude=data.iloc[:,1]
longitude=data.iloc[:,2]
depth=data.iloc[:,3]

scatter_data = pd.concat([longitude,latitude,depth],axis=1)
scatter_data.columns=['lon','lat','depth']

#------------------------------3D scatter--------------------------------
#----setting default renderer------------
import plotly.io as pio
pio.rrenderers
pio.renderers.default = "browser"
#-----------------------------------------
import plotly.express as px

fig = px.scatter_3d(scatter_data,x='lon',y='lat',z='depth')
fig.show()
fig.write_image("fig1.jpg")
本文链接:https://www.f2er.com/2874812.html

大家都在问