用途:查找两个事物之间关系的图像,展示一个事物随着另一个事物的变化而如何变化
场景:展示趋势、展现状态、探索数据关系
视频:
# 折线图
# 导入需要的库
import pandas as pd
import matplotlib.pyplot as plt
# 加载数据
df = pd.read_csv(r'D:\vscode\python\数据可视化基础\Pokemon.csv',index_col=0)
Total = df[['Total','Attack','Sp. Atk']]
Total.sort_values(by=['Total'],inplace=True)
# 设置画布大小,分辨率,和底色
plt.figure(figsize=(30,8),dpi=60,facecolor='w')
# 让plt可以正常显示中文和英文
plt.rcParams['font.sans-serif']=['Times New Roman']
plt.rcParams['axes.unicode_minus'] = False
fontcn = {'family': 'KaiTi'}
fonten = {'family':'Times New Roman'}
# 画出折线图
plt.plot(Total['Total'][:],Total['Attack'][:],'ro-',label='Attack',linewidth=3)
plt.plot(Total['Total'][:],Total['Sp. Atk'][:],'b^-.',label='Sp. Atk')
# 设置坐标轴范围
plt.xlim(30,800)
plt.ylim(0,200)
# 设置图像的标题,坐标轴,坐标轴和图例
plt.title("plot of Pokemon",fontsize=30)
plt.xticks(rotation=90,fontsize=20)
plt.yticks(fontsize=20)
plt.xlabel('总数量',fontsize=30,color='blue',fontdict=fontcn,alpha = 0.5)
plt.ylabel('普通攻击和特殊攻击',fontsize=30,color='blue',fontdict=fontcn,alpha = 0.5)
legend = plt.legend(fontsize=20)
# 设置图例背景透明
frame = legend.get_frame()
frame.set_alpha(0) # 设置图例的边框为透明
frame.set_facecolor('none') # 设置图例legend背景透明
#保存和显示图像
plt.savefig('plot.png',bbox_inches='tight',transparent = True)
# bbox_inches='tight'让图像完整显示,transparent = True让图片背景为透明
plt.show()