我有大约45个csv文件,每个文件包含两列13,000个条目,我想在一个散点图中绘制所有这些csv文件,并且不希望散点图的刻度彼此重叠,我希望所有刻度在散点图中清晰可见。
我附上下面的核心,我结合所有这些散点图,并将它们绘制在一个单一的情节。输出是一个散点图,这是每一个笨拙的理解的原因,我要求所有的点都清晰可见,没有重叠是研究他们为我的研究。
import os
import matplotlib.pyplot as plt
import pandas as pd
csv_directory = "Allplots/graphs"
csv_files = [file for file in os.listdir(csv_directory) if file.endswith(".csv")]
plt.figure(figsize=(12, 8))
all_indices = []
all_accuracies = []
for csv_file in csv_files:
file_path = os.path.join(csv_directory, csv_file)
df = pd.read_csv(file_path)
bit_index = df[" Index"]
accuracy = df["Accuracy"]
all_bit_indices.extend(index)
all_accuracies.extend(accuracy)
plt.scatter(all_indices, all_accuracies, s=10)
plt.xlabel("Index (Millions)", fontsize=12)
plt.ylabel("Accuracy", fontsize=12)
plt.title("Scatter Plot of Accuracy vs. Bit Index", fontsize=14)
# Save the plot as a PNG file
output_path = os.path.join(csv_directory, "scatter_plot.png")
plt.savefig(output_path)
plt.show()
scatter plot
我还想绘制这些CSV文件serailly说,第一部分的图形应该有点从csv1文件,然后csv2文件,然后等等,我不希望所有的csv文件的点混淆。
1条答案
按热度按时间gab6jxml1#
您可以在
pyplot.scatter
中使用各种标记参数。我建议降低s
以获得更小的标记尺寸,更改marker = '.'
(默认为'o')以获得更小的标记形状,和/或调整edgecolors = None
或edgecolors = 'face'
,使标记没有明显的轮廓。例如:
plt.scatter(all_indices, all_accuracies, s=1, marker = '.', edgecolors = 'face')