可视化——图表

1.导入相关库

1 import numpy as np
2 import pandas as pd
3 import matplotlib.pyplot as plt
4 5 #%matplotlib inline #可以内嵌绘图
6 7 plt.rcParams['font.sans-serif']=['Simhei']
8 plt.rcParams['axes.unicode_minus']=False
9 %matplotlib inline

2.柱状图

柱形图,又称长条图、柱状统计图,通常用来比较两个或以上的数据,或维度较为简单的数据集,该图通常用于数据的对比。

1 zzt = pd.read_excel('可视化图表案例数据.xlsx',sheet_name='柱状图')
2 3 zzt.head()
 放款产品类型数量
0 小贷产品 11769
1 普通收入人群产品 3359
2 高收入人群产品 765
3 教育产品 3352
4 公积金产品 3301

</div>

 

1 zzt.rename(columns={'数量':'成交总数'},inplace=True)
2 plt.figure(figsize=(10,5)) #figsize是为我们创建一个指定的长和宽的画布
3 plt.title('各产品推广情况') #添加大标题
4 plt.bar(zzt['放款产品类型'],zzt['成交总数'])
5 plt.xlabel('产品类型') #为x轴添加标题
6 plt.ylabel('成交总数') #y为y轴添加标题
7 8 plt.show()
 
 1 plt.figure(figsize=(12,6),facecolor='oldlace') 
 2 #figsize是为我们创建一个指定的长和宽的画布;facecolor可以帮你设置画布的底色
 3  4 plt.title('各产品推广情况',fontsize=18,color='black') #添加大标题
 5  6 plt.bar(zzt['放款产品类型'],zzt['成交总数'],alpha=0.8,width=0.6,color='cornflowerblue') #alpha可以设置透明度;width可以控制柱形图的宽度
 7  8 for x,y in enumerate(zzt['成交总数'].values):
 9     plt.text(x-0.2,y,'%s' %y,fontsize=14,color='tomato')
10 11 12 plt.xlabel('产品类型',fontsize=14) #为x轴添加标题
13 plt.ylabel('成交总数',fontsize=14) #y为y轴添加标题
14 15 plt.xticks(rotation=-30,color='teal')
16 plt.yticks(color='teal')
17 18 plt.show()

 

3.条形图

条形图是用宽度相同的条形的长短来表示数据多少的图形,同样适用于与对比,是横向的柱形图。当出现以下情况时,推荐使用条形图: 1)数据类别较多,或部分数据量在图中显示较长时; 2)数据名称或字段名称较长且不能缩短时。

 
1 txt = pd.read_excel('可视化图表案例数据.xlsx',sheet_name='条形图') 
2 txt 
 

 

 
 地区利润
0 上海 121650.088
1 山东 385425.488
2 吉林 153058.171
3 湖南 156735.929
4 黑龙江 257172.062
5 河南 199519.691
6 河北 172031.685
7 广东 336670.537
8 福建 142601.732
9 安徽 149028.810

</div>

 

1 plt.figure(figsize=(10,5)) #figsize是为我们创建一个指定的长和宽的画布
2 plt.title('全国各地区分公司盈利情况') #添加大标题
3 
4 plt.barh(txt['地区'],txt['利润'])
5 
6 plt.xlabel('地区') #为x轴添加标题
7 plt.ylabel('盈利情况') #y为y轴添加标题
8 
9 plt.show()

 

 1 txt_jaingxu = txt.sort_values(by='利润')
 2 
 3 plt.figure(figsize=(14,7)) #figsize是为我们创建一个指定的长和宽的画布
 4 plt.title('全国各地区分公司盈利情况',fontsize=18) #添加大标题
 5 
 6 plt.barh(txt_jaingxu['地区'],txt_jaingxu['利润'],color='turquoise')
 7 
 8 for x,y in enumerate(txt_jaingxu['利润'].values):
 9     plt.text(y,x,'%.2f' %y,fontsize=12,color='tomato')
10 
11 plt.xlabel('地区',fontsize=14,color='dimgray') #为x轴添加标题
12 plt.ylabel('盈利情况',fontsize=14,color='dimgray') #y为y轴添加标题
13 
14 plt.xticks(color='dodgerblue',fontsize=12)
15 plt.yticks(color='dodgerblue',fontsize=12)
16 
17 plt.show()

4.饼图

饼图是一种用来描述定性数据频数或百分比的图形。它通常以圆饼或椭圆饼的形式出现。 饼图的整个圆即代表一个总体的全部数据,圆中的一个扇形表示总体的一个类别,该扇面的大小由其占总体的比例决定, 且各个扇面对应比例之和必定为100%。 在实际应用中,它主要用来研究结构性问题,如:股权结构,投资结构,公司业务构成情况等。

 

1 bt = pd.read_excel('可视化图表案例数据.xlsx',sheet_name='饼图')
2 
3 bt

 

 
.dataframe tbody tr th {
    vertical-align: top;
}

.dataframe thead th {
    text-align: right;
}

</style>

 国内地区全年销售额占比
0 中南地区 0.2134
1 西南地区 0.1568
2 华北地区 0.1473
3 东北地区 0.0671
4 华东地区 0.3029
5 西北地区 0.1125

</div>

 

1 plt.figure(figsize=(12,6)) #figsize是为我们创建一个指定的长和宽的画布
2 plt.title('国内各地区销售额占比情况') #添加大标题
3 
4 plt.pie(bt['全年销售额占比'])
5 
6 plt.show()

 

 1 plt.figure(figsize=(12,6)) #figsize是为我们创建一个指定的长和宽的画布
 2 
 3 
 4 
 5 plt.title('1-12月销售额占比情况',fontsize=18) #添加大标题
 6 
 7 plt.pie(bt['全年销售额占比'],
 8        explode=[0.03,0.03,0.03,0.03,0.05,0.03], #explode作用是控制各个扇面的间距,数值越大,间距越大
 9        wedgeprops={'linewidth':0.8,'edgecolor':'dimgray'}, #wedgeprops可以控制扇面的边框线设置
10        colors=['hotpink','gold','tomato','lightskyblue','lightsalmon','mediumturquoise'], #color的作用是控制每个扇面的颜色
11        textprops={'fontsize':12,'color':'black'},
12        autopct='%.2f%%')
13 
14 plt.legend(bt['国内地区'],
15           title='地区',
16           fontsize=12,loc='center left',
17           bbox_to_anchor=(1,0,0.5,1))
18 
19 plt.show()

5.折线图

折线图是由折现或曲线构成的图形,如股票的K线图、价格走势图、时间序列的趋势图等。 折线图一般由两个变量绘制,一个作为分析的变量,即下图中线所代表的含义; 另一个变量通常是定性变量或时间变量,作为分类或参考变量,用以观察分析变量的变动情况。

折线图还可以同时考察多个变量的变动情况,并从中找出数据之间的关系。

1 zxt = pd.read_excel('可视化图表案例数据.xlsx',sheet_name='折线图')
2 
3 zxt.head()

 

 
.dataframe tbody tr th {
    vertical-align: top;
}

.dataframe thead th {
    text-align: right;
}

</style>

 月份销售额
0 1月 765.96297
1 2月 676.39933
2 3月 706.98851
3 4月 807.01692
4 5月 534.67874

</div>

 

1 plt.figure(figsize=(12,6)) #figsize是为我们创建一个指定的长和宽的画布
2 plt.title('全年销售额变动情况') #添加大标题
3 
4 plt.plot(zxt['月份'],zxt['销售额'])
5 
6 plt.show()

 

 1 plt.figure(figsize=(14,7)) #figsize是为我们创建一个指定的长和宽的画布
 2 plt.title('全年销售额变动情况',fontsize=18) #添加大标题
 3 
 4 plt.plot(zxt['月份'],zxt['销售额'],label='销售额',color='tomato',
 5         marker='o',markersize=6,linestyle='--',linewidth=2)
 6 
 7 plt.xlabel('时间',fontsize=14,color='dimgray') #为x轴添加标题
 8 plt.ylabel('销售额',fontsize=14,color='dimgray') #y为y轴添加标题
 9 
10 plt.xticks(color='dodgerblue',fontsize=12)
11 plt.yticks(color='dodgerblue',fontsize=12)
12 
13 for x,y in enumerate(zxt['销售额'].values):
14     plt.text(x-0.8,y,'%.2f' %y,fontsize=14,color='tomato')
15 
16 plt.legend()    
17     
18 plt.show()

6.散点图

散点图主要用于考察两个变量之间的关系,广泛应用于统计数据整理和建模过程中。 它的主要特点是分别用X轴和Y轴来代表其所反映的变量,然后把每个数据点按照X轴和Y轴所代表变量的值,进而将其绘制在二维坐标系中。

 

 1 x = np.random.randn(20,2)
 2 y = x + x**2 + 1
 3 plt.figure(figsize=(12,6))
 4 
 5 plt.title('example') #添加大标题
 6 
 7 plt.scatter(x,y,s=24,color='orange',marker='.',label='point')
 8 
 9 plt.legend()
10 
11 plt.show()

 

 

 1 aa = np.random.randn(30)
 2 bb = np.random.randn(30)
 3 
 4 yanse = np.random.randn(30)
 5 plt.figure(figsize=(12,6))
 6 
 7 plt.title('example') #添加大标题
 8 
 9 plt.scatter(aa,bb,s=600*np.pi*(np.random.randn(30)**2),c=yanse,alpha=0.8)
10 
11 plt.show()

 

小石小石摩西摩西的学习笔记,欢迎提问,欢迎指正!!!
原文地址:https://www.cnblogs.com/shijingwen/p/13700567.html