簡體   English   中英

如何為每個數據框列創建散點圖

[英]How to create a scatter plot for each dataframe column

我正在嘗試編寫一些代碼,以便通過 tine 創建散點圖數據的動畫。 為了做到這一點,我有一個包含多列的數據集,其中每列代表一個編號的時間步長。

我希望代碼在 y 軸的每個時間步長列中循環並使用常量 x 軸,以便為每個時間步長生成單獨的散點圖。 我試圖通過編寫一個 for 循環來為 y 軸指定一個遞增的列號來做到這一點。

我當前的代碼在我的示例數據中生成七個散點圖中的三個,但返回以下錯誤:

IndexError: index 9 is out of bounds for axis 0 with size 9

我已經嘗試過其他類似的堆棧溢出解決方案,但這並沒有解決我的問題。

如果有人想使用我正在使用的數據,則數據在這里: https : //www.dropbox.com/s/7vwa0lud44td2ak/test_splot_anim_noTS.csv?dl=0 數據文件

任何幫助或建議將不勝感激。

import numpy as np
import pandas a pd
import matplotlib as mpl
import matplotlib.pyplot as plt

data=pd.read_csv("test_splot_anim_noTS.csv") 

for n in range (6, 13):
    data.plot(kind='scatter', x='metres', y=n)
    plt.ylim(-4,4)
    plt.savefig('n.jpeg')

panda.DataFrame.plot ,單線圖

data=pd.read_csv("test_splot_anim_noTS.csv")
data.set_index('metres', drop=True, inplace=True)
data.plot()

在此處輸入圖片說明

使用matplotlib ,所有列的單圖:

import matplotlib.pyplot as plt

plt.plot(data)
plt.show()

單獨散點圖,文件保存:

for col in data.columns:
    plt.scatter(data.index, data[col])
    plt.ylim(-4, 4)
    plt.savefig(f'{col}.jpeg')
    plt.show()

使用 Seaborn:

for col in data.columns:
    sns.scatterplot(data.index, data[col])
    plt.ylim(-4,4)
    plt.savefig(f'{col}.jpeg')
    plt.show()
 data=pd.read_csv("test_splot_anim_noTS.csv")
 for column in data.columns[1:]:
     data.plot(kind='scatter', x='metres',y=column)
     plt.ylim(-4,4)
     plt.savefig('{}.jpeg'.format(column))

我可能已經做到了!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM