如何使用 matplotlib 可视化可读的大数据集?

问题描述 投票:0回答:1

当尝试用 python 可视化大数据集时,绘图和日期变得不可读。 如何保证数据始终保持可读? 欢迎所有解决方案,包括使用其他软件包。

我的代码:


import json
import matplotlib.pyplot as plt

# Load the JSON data from the file
with open('sorted_data.json', 'r') as file:
    sorted_data = json.load(file)

# Create a list of dates and corresponding values for each number
dates = list(sorted_data.keys())[:150]
numbers = list(sorted_data.values())[:150]

# Set a larger figure size
plt.figure(figsize=(10, 6))  # Adjust the width and height as needed

# Create a scatter plot for each date
for i in range(len(dates)):
    date = dates[i]
    number_values = list(numbers[i].values())
    plt.scatter([date]*7, list(numbers[i].values()), label=date)

# Adding labels and title
plt.xlabel('Dates')
plt.ylabel('Values')
plt.title('Visualization of Sorted JSON Data')
plt.xticks(rotation=45)  # Rotate the x-axis labels for better visibility
plt.legend()  # Show the legend

# Display the plot
plt.show()

Json 示例:

{
    "2000-01-01": {
        "n1": 9,
        "n2": 19,
        "n3": 22,
        "n4": 39,
        "n5": 41,
        "n6": 42,
        "n7": 17
    },
    "2000-01-05": {
        "n1": 9,
        "n2": 13,
        "n3": 14,
        "n4": 22,
        "n5": 23,
        "n6": 39,
        "n7": 18
    },...
}

输出:

output of the code:

尝试用 python 可视化大数据集,我希望它始终可读

python matplotlib bigdata
1个回答
0
投票

问题出在代码中,而不是 matplotlib 的问题。 导入数据时,您将日期字符串视为字符串,这使它们成为分类条目。 matplotlib 无法采取任何措施来保持绘图的可读性。

您可能想要做的是将数据绘制在时间轴上。为此,请在导入时将字符串解析为

datetime
对象。

dates = [dt.datetime.strptime(k,'%Y-%m-%d') for k in sorted_data.keys()]
© www.soinside.com 2019 - 2024. All rights reserved.