파이썬 데이터 시각화 입문 6 - 연습문제

힘센캥거루
2023년 11월 14일(수정됨)
7
python

这次是数据可视化练习题。

用旧资料会不会觉得无趣呢?

试试使用新数据吧。

1. 文件及问题

文件是从公共数据门户下载的年度犯罪发生次数和检举次数统计

按照以下条件绘制图表。

  • 可视化黑客攻击(资料泄露)的发生及检举次数

  • 设置标题、x轴标签、y轴标签、图例

  • 改变线的样式,自由修改

  • 其他样式随意

파이썬 데이터 시각화 입문 6 - 연습문제-1

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)

查看数据,可以看到年份根据分类重复了两次

파이썬 데이터 시각화 입문 6 - 연습문제-2

通过unique()去除重复的年份

然后使用loc和条件语句提取黑客攻击的发生次数和检举次数,并绘制图表。

x = crime.loc[:,"연도"].unique()
y1 = crime.loc[crime.구분=="발생건수","해킹(자료유출)"]
y2 = crime.loc[crime.구분=="검거건수","해킹(자료유출)"]
plt.plot(x,y1)
plt.plot(x,y2)
파이썬 데이터 시각화 입문 6 - 연습문제-3

给图表添加图例和标题

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("해킹(자료유출) 발생 및 검거 건수") # <-- 추가
파이썬 데이터 시각화 입문 6 - 연습문제-4

然后设置轴名称

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("해킹(자료유출) 발생 및 검거 건수")
파이썬 데이터 시각화 입문 6 - 연습문제-5

最后指定线样式添加网格

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() # <-- 추가
파이썬 데이터 시각화 입문 6 - 연습문제-6

3. 结束语

在下一篇文章中,我将讨论Matplotlib中如何一次绘制多个图表的方法。

希望对练习数据可视化的人有所帮助。

댓글을 불러오는 중...