Python3-数据可视化(基本图形绘制)

1. 条形图绘制plt.bar()

import pandas as pd
import matplotlib.pyplot as plt
#利用pandas读入泰坦尼克号人员数据
titanic = pd.read_csv("train.csv")
#提取“Age”属性中所有数值
age = titanic["Age"]

num_col = [[10, 0], [20, 0], [30, 0], [40, 0], [50, 0],
           [60, 0], [70, 0], [80, 0], [90, 0], [100, 0]]
#统计每个年龄段的人数(忽略无效值)
for i in range(0, len(age)):
    if 0 < age[i] <= 100:
        index = int(age[i] // 10)
        num_col[index][1] += 1
    else:
        continue
#横坐标值
year_col = ['0-9', '10-19', '20-29', '30-39', '40-49',
            '50-59', '60-69', '70-79', '80-89', '90-99']
#数值
value_col = []
for i in range(0, 10):
    value_col.append(num_col[i][1])
#绘制条形图,第一个参数为横轴,第二个参数为各项值,第三个参数为条形宽度
plt.bar(year_col, value_col, 0.3)
#barh将绘制横向条形图
#plt.barh(year_col, value_col, 0.3)
plt.title("Titanic age distribution")
plt.xlabel("age")
plt.xticks(rotation=45)
plt.ylabel("values")
plt.show()

Python3-数据可视化(基本图形绘制)_第1张图片
####2. 散点图绘制plt.scatter()

#数据与条形图一致
#第三个参数越大点越大
plt.scatter(year_col, value_col, 30)

Python3-数据可视化(基本图形绘制)_第2张图片

3.柱形图绘制plt.hist()

可以利用柱形图绘制函数plt.hist(age, bins=30)自动计算每指定年龄区间人数,减少在第三个条形图绘制中代码量

import pandas as pd
import matplotlib.pyplot as plt

titanic = pd.read_csv("train.csv")

age = titanic["Age"]
#bins=30, 将整个年龄区间分为30个小区间
plt.hist(age, bins=30)
#在参数中添加range(20,30)可表示绘制范围,结果为只绘制年龄20-30区间内的柱形图情况
#plt.hist(age, range(20-30),  bins=30)
plt.title("Titanic age distribution")
plt.xlabel("age")
plt.ylabel("values")
plt.show()

Python3-数据可视化(基本图形绘制)_第3张图片

4.柱形图绘制plt.boxplot()

plt.boxplot(value_col)

Python3-数据可视化(基本图形绘制)_第4张图片

5. 折线图绘制plt.plot()

import matplotlib.pyplot as plt
year = [1667, 1990, 1999, 2008, 2018]
value = [1, 2, 3, 4, 5]
#第一个参数是X轴,第二个参数是Y轴,第三个参数是颜色,第四个参数是加标签
plt.plot(year, value, c='red', label='label')
#控制X轴坐标的表示,参数为变化角度
plt.xticks(rotation=45)
#指定横轴名称
plt.xlabel('year')
#指定纵轴名称
plt.ylabel("value")
#指定图表名称
plt.title("show plot")
#控制标签框位置,best为自适应位置
plt.legend(loc='best')
plt.show()

Python3-数据可视化(基本图形绘制)_第5张图片

6. 子图绘制fig.add_subplot()

将大图平分成X*Y块
x:大图分为X行
y:大图分为Y列
z:子图所在大图中的区域标号

fig = plt.figure()
ax1 = fig.add_subplot(2, 2, 1)
plt.title("ax1")
ax2 = fig.add_subplot(2, 2, 2)
plt.title("ax2")
ax3 = fig.add_subplot(2, 2, 3)
plt.title("ax3")
ax4 = fig.add_subplot(2, 2, 4)
plt.title("ax4")
plt.show()

Python3-数据可视化(基本图形绘制)_第6张图片

你可能感兴趣的:(数据可视化)