作图知识点汇总
1. 导入所需库
import pandas as pd import matplotlib.pyplot as plt import seaborn as sns # 读取Excel文件中的数据 df = pd.read_excel('data.xlsx')
2. 折线图(Line Chart)
plt.figure(figsize=(10, 6)) plt.plot(df['日期'], df['值'], marker='o') plt.title('折线图') plt.xlabel('日期') plt.ylabel('值') plt.grid(True) plt.show()
3. 散点图(Scatter Plot)
plt.figure(figsize=(10, 6)) plt.scatter(df['变量1'], df['变量2']) plt.title('散点图') plt.xlabel('变量1') plt.ylabel('变量2') plt.grid(True) plt.show()
4. 柱状图(Bar Chart)
plt.figure(figsize=(10, 6)) plt.bar(df['类别'], df['值']) plt.title('柱状图') plt.xlabel('类别') plt.ylabel('值') plt.show()
5. 直方图(Histogram)
plt.figure(figsize=(10, 6)) plt.hist(df['值'], bins=20) plt.title('直方图') plt.xlabel('值') plt.ylabel('频率') plt.show()
6. 饼图(Pie Chart)
plt.figure(figsize=(8, 8)) plt.pie(df['值'], labels=df['类别'], autopct='%1.1f%%', startangle=140) plt.title('饼图') plt.show()
7. 箱线图(Box Plot)
plt.figure(figsize=(10, 6)) sns.boxplot(x=df['类别'], y=df['值']) plt.title('箱线图') plt.show()
8. 热力图(Heatmap)
plt.figure(figsize=(10, 8)) sns.heatmap(df.corr(), annot=True, cmap='coolwarm', linewidths=0.5) plt.title('热力图') plt.show()
9. 回归图(Regression Plot)
plt.figure(figsize=(10, 6)) sns.regplot(x=df['变量1'], y=df['变量2']) plt.title('回归图') plt.xlabel('变量1') plt.ylabel('变量2') plt.show()
10. 决策树图(Decision Tree)
要生成决策树图,你需要使用
sklearn
库中的DecisionTreeClassifier
或DecisionTreeRegressor
,然后使用plot_tree
函数进行可视化。from sklearn.tree import DecisionTreeClassifier, plot_tree # 假设'变量1'和'变量2'是特征,'类别'是目标 X = df[['变量1', '变量2']] y = df['类别'] # 创建决策树模型 clf = DecisionTreeClassifier() clf = clf.fit(X, y) # 绘制决策树 plt.figure(figsize=(20, 10)) plot_tree(clf, filled=True, feature_names=['变量1', '变量2'], class_names=df['类别'].unique()) plt.title('决策树') plt.show()
11. 网络图(Network Graph)
要生成网络图,你需要使用
networkx
库。import networkx as nx # 假设数据已经被处理成图的边列表 G = nx.from_pandas_edgelist(df, '节点1', '节点2', ['权重']) plt.figure(figsize=(10, 8)) nx.draw(G, with_labels=True, node_color='skyblue', node_size=1500, edge_color='black', linewidths=1, font_size=15) plt.title('网络图') plt.show()