这次是数据可视化练习题。
用旧资料会不会觉得无趣呢?
试试使用新数据吧。
1. 文件及问题
文件是从公共数据门户下载的年度犯罪发生次数和检举次数统计。
按照以下条件绘制图表。
可视化黑客攻击(资料泄露)的发生及检举次数
设置标题、x轴标签、y轴标签、图例
改变线的样式,自由修改
其他样式随意

2. 问题解答
首先复制粘贴上次文章的开头。在这里仅需更改文件路径。
import pandas as pd
# 模块调用及设置韩文字体
import matplotlib.pyplot as plt
import matplotlib
# 在MacOS上设置字体
# matplotlib.rcParams["font.family"] = "AppleGothic"
# 在Windows上设置字体
matplotlib.rcParams["font.family"] = "Malgun Gothic"
# 设置字体大小
matplotlib.rcParams["font.size"] = 13
# 解决负号显示问题
plt.rcParams['axes.unicode_minus'] = False
crime = pd.read_excel("./crime_statistics.xlsx")
crime.head(3)查看数据,可以看到年份根据分类重复了两次。

通过unique()去除重复的年份。
然后使用loc和条件语句提取黑客攻击的发生次数和检举次数,并绘制图表。
x = crime.loc[:,"연도"].unique()
y1 = crime.loc[crime.구분=="발생건수","해킹(자료유출)"]
y2 = crime.loc[crime.구분=="검거건수","해킹(자료유출)"]
plt.plot(x,y1)
plt.plot(x,y2)
给图表添加图例和标题。
x = crime.loc[:,"연도"].unique()
y1 = crime.loc[crime.구분=="발생건수","해킹(자료유출)"]
y2 = crime.loc[crime.구분=="검거건수","해킹(자료유출)"]
plt.plot(x,y1,label="발생건수") # <-- 추가
plt.plot(x,y2,label="검거건수") # <-- 추가
plt.legend() # <-- 추가
plt.title("해킹(자료유출) 발생 및 검거 건수") # <-- 추가
然后设置轴名称。
x = crime.loc[:,"연도"].unique()
y1 = crime.loc[crime.구분=="발생건수","해킹(자료유출)"]
y2 = crime.loc[crime.구분=="검거건수","해킹(자료유출)"]
plt.plot(x,y1,label="발생건수")
plt.plot(x,y2,label="검거건수")
plt.legend()
plt.xlabel("연도") # <-- 추가
plt.ylabel("건수") # <-- 추가
plt.title("해킹(자료유출) 발생 및 검거 건수")
最后指定线样式并添加网格。
x = crime.loc[:,"연도"].unique()
y1 = crime.loc[crime.구분=="발생건수","해킹(자료유출)"]
y2 = crime.loc[crime.구분=="검거건수","해킹(자료유출)"]
plt.plot(x,y1,"^--",label="발생건수") # <-- 추가
plt.plot(x,y2,"o-",label="검거건수") # <-- 추가
plt.legend()
plt.xlabel("연도")
plt.ylabel("건수")
plt.title("해킹(자료유출) 발생 및 검거 건수")
plt.grid() # <-- 추가
3. 结束语
在下一篇文章中,我将讨论Matplotlib中如何一次绘制多个图表的方法。
希望对练习数据可视化的人有所帮助。
댓글을 불러오는 중...