可视化——图表

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>

 月份销售额
01月765.96297
12月676.39933
23月706.98851
34月807.01692
45月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()

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小石小石摩西摩西

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值