当尝试用 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
},...
}
输出:
尝试用 python 可视化大数据集,我希望它始终可读
问题出在代码中,而不是 matplotlib 的问题。 导入数据时,您将日期字符串视为字符串,这使它们成为分类条目。 matplotlib 无法采取任何措施来保持绘图的可读性。
您可能想要做的是将数据绘制在时间轴上。为此,请在导入时将字符串解析为
datetime
对象。
dates = [dt.datetime.strptime(k,'%Y-%m-%d') for k in sorted_data.keys()]