绘制数据框每 15 行的散点图?
Plotting a scatter plot of each 15 rows of a dataframe?
我想创建一个包含 800 行的数据框的散点图。我不想将它们绘制在整个图表中,而是想将图表按数据框的 15 行分开。结果我应该看到 54 个图表。
我如何使用 python?
来做到这一点
我在数据框中创建了一些包含两列的随机数据。然后,您可以使用 numpy 循环遍历数据帧的每 15 行(不要使用 DataFrame.iterrows
,因为它效率极低),并为每个数据块创建一个简单的散点图。
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
np.random.seed(1234)
data = np.random.rand(800,2)
df = pd.DataFrame(data=data, columns=['x','y'])
## split the dataframe into 54 chunks, this is hardcoded since you specified that your dataframe contains 800 rows = 15 rows x 54
for index, df_chunk in enumerate(np.array_split(df, 54)):
plt.scatter(df_chunk.x, df_chunk.y)
## this will immediately save 54 scatter plots, numbered 1-54, be warned!
plt.title('Scatter Plot #' + str(index+1))
plt.savefig('./scatter_plot_' + str(index+1) + '.png')
## clear the figure
plt.clf()
下面是我创建的 54 个散点图之一。随意修改标题、x- 和 y-axis 标题、标记颜色和类型。
我想创建一个包含 800 行的数据框的散点图。我不想将它们绘制在整个图表中,而是想将图表按数据框的 15 行分开。结果我应该看到 54 个图表。 我如何使用 python?
来做到这一点我在数据框中创建了一些包含两列的随机数据。然后,您可以使用 numpy 循环遍历数据帧的每 15 行(不要使用 DataFrame.iterrows
,因为它效率极低),并为每个数据块创建一个简单的散点图。
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
np.random.seed(1234)
data = np.random.rand(800,2)
df = pd.DataFrame(data=data, columns=['x','y'])
## split the dataframe into 54 chunks, this is hardcoded since you specified that your dataframe contains 800 rows = 15 rows x 54
for index, df_chunk in enumerate(np.array_split(df, 54)):
plt.scatter(df_chunk.x, df_chunk.y)
## this will immediately save 54 scatter plots, numbered 1-54, be warned!
plt.title('Scatter Plot #' + str(index+1))
plt.savefig('./scatter_plot_' + str(index+1) + '.png')
## clear the figure
plt.clf()
下面是我创建的 54 个散点图之一。随意修改标题、x- 和 y-axis 标题、标记颜色和类型。