import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
data = {
'文物编号': ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12', '13', '14', '16', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31', '32', '33', '34', '35', '36', '37', '38', '39', '40', '41', '42', '43', '44', '45', '46', '47', '48', '49', '50', '51', '52', '53', '54', '55', '56','57','58'],
'纹饰': ['C', 'A', 'A', 'A', 'A', 'A', 'B', 'C', 'B', 'B', 'C', 'B', 'C', 'C', 'C','A', 'A', 'A', 'A', 'B', 'A', 'C', 'C', 'C', 'B', 'A', 'A', 'A', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C','C', 'A','C', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'C', 'C', 'A', 'C','C','C','C','C'],
'类型': ['高钾', '铅钡', '高钾', '高钾', '高钾', '高钾', '高钾', '铅钡', '高钾', '高钾', '铅钡', '高钾', '高钾', '高钾', '高钾', '高钾', '铅钡', '铅钡', '高钾', '高钾', '铅钡', '铅钡', '铅钡', '铅钡', '高钾', '铅钡', '铅钡', '铅钡','铅钡', '铅钡', '铅钡', '铅钡', '铅钡', '铅钡','铅钡','铅钡','铅钡','铅钡','铅钡','铅钡','铅钡','铅钡','铅钡','铅钡','铅钡','铅钡','铅钡','铅钡','铅钡','铅钡','铅钡','铅钡','铅钡','铅钡','铅钡','铅钡'],
'颜色': ['蓝绿', '浅蓝', '蓝绿', '蓝绿', '蓝绿', '蓝绿', '蓝绿', '紫', '蓝绿', '蓝绿', '浅蓝', '蓝绿', '浅绿', '深绿', '浅蓝', '深蓝', 'X','浅蓝', '蓝绿', '蓝绿', '蓝绿', '紫', '浅蓝', '紫', '蓝绿', '浅蓝', '浅蓝', '深蓝', '紫', '浅绿', '深绿', '深绿', '浅绿', '深绿', '深绿', '深绿', '深绿', 'X', '浅绿', '浅蓝', '浅蓝', '浅蓝', '浅蓝', '浅蓝', '浅蓝', 'X', '黑', '黑', '浅蓝','浅蓝','浅蓝','浅蓝','绿','蓝绿','蓝绿','X'],
'表面风化': ['无风化', '风化', '无风化', '无风化', '无风化', '无风化', '风化', '风化', '风化', '风化', '风化', '风化', '无风化', '无风化', '无风化','无风化', '风化', '无风化', '无风化', '风化', '风化', '无风化', '风化', '风化', '风化', '风化', '风化', '无风化', '无风化', '无风化', '无风化', '风化', '无风化', '风化', '无风化', '风化', '风化', '风化', '风化', '风化', '风化', '风化', '无风化', '无风化', '无风化', '风化', '风化', '风化','风化','风化','风化','风化','无风化','风化','风化','风化']
}
df = pd.DataFrame(data)
df.replace('X', np.nan, inplace=True)
plt.figure(figsize=(10, 6))
sns.lineplot(data=df[['纹饰', '类型', '颜色']])
plt.title('三线图 - 纹饰、类型、颜色的关系')
plt.xlabel('文物编号')
plt.ylabel('属性值')
plt.xticks(rotation=45)
plt.legend(title='属性')
plt.tight_layout()
plt.show()
plt.figure(figsize=(10, 6))
sns.scatterplot(data=df, x='纹饰', y='颜色', hue='表面风化', style='类型', palette='Set2')
plt.title('散点图 - 纹饰、颜色、表面风化和类型的关系')
plt.xlabel('纹饰')
plt.ylabel('颜色')
plt.legend(title='表面风化')
plt.tight_layout()
plt.show()
为什么会出现 'NoneType' object is not iterable的问题呢?请问如何解决这个问题呢?
