我有一个大文件(2GB)。我想在scatterplot
中绘制其中的数据。文件中的数据具有以下格式
day block1 block2 block3 .....
1 34.89 88.90 67.89 .....
2 77.890 33.56 76.98 .....
3 67.12 67.89 55.89 .....
... ..... ..... ..... .....
pltData将是所选列的平均值列表
pltData = [avg_block1, avg_block2, avg_block3, .....]
pltX和pltY是有限列表。为了从名为pltData的列表中绘制数据,我使用以下代码:
from matplotlib.colors import ListedColormap, LinearSegmentedColormap
import matplotlib.pyplot as plt
import matplotlib.cm as cm
FIGURE = plt.Figure()
SUBPLOT1 = FIGURE.add_subplot(121)
SUBPLOT1.set_xlabel('x distance')
SUBPLOT1.set_ylabel('y distance')
data1 = {'x-distance' : pltX , 'y_distance' : pltY}
df3 = DataFrame(data1, columns=['x-distance','y_distance'])
plot1= SUBPLOT1.scatter(df3['x-distance'],df3['y_distance'], marker='o', s=15, linewidths=0.1, c=pltData, cmap='rainbow', vmin=min(pltData), vmax=max(pltData))
FIGURE.colorbar(plot1, ax=SUBPLOT1)
但是,对于2GB大小的文件,由于行和列的数量很大,因此无法创建listpltData。有人能告诉我如何绘制数据吗
您可以使用pandas包来加载数据,然后从中进行平均,以获得列的平均值。像这样的,
这将为您提供每列的平均值,从那里您可以根据需要使用它
相关问题 更多 >
编程相关推荐