Python数据可视化之12种常用图表的绘制(二)——树地图&雷达图&箱型图&饼图&圆环图&热力图(附代码和效果图)


通过上篇我们已经学会了折线图/柱形图/条形图/散点图/气泡图/面积图这六种常见图表的绘制,可以看看这篇博文
Python数据可视化之12种常用图表的绘制(一)——折线图/柱形图/条形图/散点图/气泡图/面积图
现在我们来学习一下另外六种图表——树地图/雷达图/箱型图/饼图/圆环图/热力图的绘制

树地图

老规矩,直接上代码~

import numpy as np
import matplotlib.pyplot as plt
import squarify
size=np.array([3.4,0.693,0.585,0.570,0.562,0.531,
               0.530,0.524,0.501,0.478,0.468,0.436])
# 每一项所占大小
xingzuo=np.array(['未知','摩羯座','天秤座','双鱼座','天蝎座','金牛座',
                  '处女座','双子座','射手座','狮子座','水瓶座','白羊座'])
rate=np.array(['34%','6.93%','5.85%','5.70%','5.62%','5.31%',
               '5.30%','5.24%','5.01%','4.78%','4.68%','4.36%'])
# 每一项所占比重
colors=['steelblue','#9999ff','red','indianred',
        'green','yellow','orange']
plt.rcParams['font.sans-serif']=['KaiTi']
plt.rcParams['axes.unicode_minus']=False
plot=squarify.plot(sizes=size,
                   label=xingzuo,
                   color=colors,
                   value=rate,
                   edgecolor='white',
                   linewidth=3)
plt.title('菊粉星座分布',fontdict={'fontsize':12})
plt.axis('off')
plt.tick_params(top='off',right='off')
plt.savefig('C:/Users/xiaoLiu/Desktop/pythoncoding/squarify.jpg')
plt.show()

效果图如下
在这里插入图片描述好看不~接下来看看更加好看的雷达图

雷达图

import numpy as np
import matplotlib.pyplot as plt
plt.subplot(111,polar=True)
# polar=True相当于建立一个极坐标系
plt.rcParams['font.sans-serif']=['KaiTi']
plt.rcParams['axes.unicode_minus']=False
dataLenth=5
angles=np.linspace(0,2*np.pi,dataLenth,endpoint=False)
labels=['沟通能力','业务理解能力','逻辑思维能力',
        '快速学习能力','工具使用能力']
data=[2,3.5,4,4.5,5]
data=np.concatenate((data,[data[0]]))
angles=np.concatenate((angles,[angles[0]]))
plt.polar(angles,data,color='r',marker='o')
plt.xticks(angles,labels)
plt.title(label="某数据分析师的综合评级")
plt.savefig("C:/Users/xiaoLiu/Desktop/pythoncoding/polarplot.jpg")
plt.show()

效果展示
在这里插入图片描述
哇,真好看

箱型图

import matplotlib.pyplot as plt
import numpy as np

plt.subplot(1, 1, 1)
fig = plt.figure()
plt.figure(figsize=(8, 6))
y1 = np.array([866, 2335, 5710, 6482, 6120, 1605, 3813, 4428, 4631])
y2 = np.array([433, 1167, 2855, 3241, 3060, 802, 1906, 2214, 2315])
plt.rcParams['font.sans-serif'] = ['KaiTi']
plt.rcParams['axes.unicode_minus'] = False
x=[y1,y2]
labels = ['注册人数', '激活人数']
plt.boxplot(x,labels=labels,vert=True,widths=[0.2,0.5])
plt.title("腾讯qq1-9月注册用户数", loc='center')
plt.grid(False)
plt.legend()
plt.savefig(r"C:\Users\xiaoLiu\Desktop\keshihua\9.jpg")
plt.show()

看一下效果
在这里插入图片描述

饼图

import numpy as np
import matplotlib.pyplot as plt
plt.subplot(1,1,1)
fig=plt.figure()
plt.figure(figsize=(8,6))
plt.rcParams['font.sans-serif']=['KaiTi']
plt.rcParams['axes.unicode_minus']=False
labels=np.array(["东区","北区","南区","西区"])
x=np.array([8566,6482,5335,7310])
explode=[0.05,0,0,0]
labeldistance=1.1
plt.pie(x,labels=labels,autopct='%.0f%%',shadow=True,
        explode=explode,radius=1.0,labeldistance=labeldistance)
plt.title("全国各分区任务量占比",loc="center")
plt.savefig(r"C:\Users\xiaoLiu\Desktop\keshihua\10.jpg")
plt.show()

效果图如下
在这里插入图片描述
挺好看的吧~,哈哈,py大法好

圆环图

在饼图的基础上调整wedgeprops参数即可实现圆环图
代码如下

import numpy as np
import matplotlib.pyplot as plt
plt.subplot(1,1,1)
fig=plt.figure()
plt.figure(figsize=(8,6))
x1=np.array([8556,5335,7310,6482])
x2=np.array([4283,2667,3655,3241])
labels=["东区","北区","南区","西区"]
plt.rcParams['font.sans-serif']=['KaiTi']
plt.rcParams['axes.unicode_minus']=False
plt.pie(x1,labels=labels,radius=1.0,
        wedgeprops=dict(width=0.3,edgecolor='w'))
plt.pie(x2,radius=0.7,wedgeprops=dict(width=0.3,edgecolor='w'))
plt.annotate("完成量",
             xy=(0.35,0.35),xytext=(0.7,0.45),
             arrowprops=dict(facecolor='black',arrowstyle='->'))
plt.annotate("任务量",
             xy=(0.75,0.20),xytext=(1.1,0.2),
             arrowprops=dict(facecolor='black',arrowstyle='->'))
plt.title("全国各分区任务量和完成量",loc="center")
plt.savefig(r"C:\Users\xiaoLiu\Desktop\keshihua\11.jpg")
plt.show()

效果图
在这里插入图片描述

热力图

撸代码

import numpy as np
import matplotlib.pyplot as plt
import itertools
plt.rcParams['font.sans-serif']=['KaiTi']
plt.rcParams['axes.unicode_minus']=False
cm=np.array([[1,0.082,0.031,-0.0086],
             [0.082,1,-0.063,0.062],
             [0.031,-0.09,1,0.026],
             [-0.0086,0.062,0.026,1]])
cmap=plt.cm.cool
plt.imshow(cm,cmap=cmap)
plt.colorbar()
classes=["负债率","信贷数量","年龄","家属数量"]
tick_marks=np.arange(len(classes))
plt.xticks(tick_marks,classes)
plt.yticks(tick_marks,classes)
for i,j in itertools.product(range(cm.shape[0]),range(cm.shape[1])):
    plt.text(j,i,cm[i,j],horizontalalignment="center")
plt.grid(False)
plt.savefig(r"C:\Users\xiaoLiu\Desktop\keshihua\12.jpg")
plt.show()

在这里插入图片描述

怎么样!好看吧~
嘻嘻

  • 5
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python中的数据可视化工具非常丰富,其中最常用的之一就是matplotlibmatplotlib是一个强大且灵活的绘库,可以用于绘制类型的图表形。 它具有简单易用的接口,可以轻松地创建线、散点、柱状饼图雷达图、热等各常见的统计图表。通过使用不同的图表类型和样式,我们可以更好地展示数据的特征和趋势,以及进行数据分析和解释。 在实践中,我们可以通过matplotlib实现数据可视化。首先,我们需要安装并导入matplotlib库。然后,创建一个形对象,添加各元素(如标题、轴标签、例等)来装饰形。最后,使用不同的绘函数(如plot、scatter、bar等)来绘制形。 举个例子,我们可以使用matplotlib绘制一个简单的折线,展示一段时间内某个指标的变化趋势。我们可以使用plot函数传入X轴和Y轴的数据,然后使用show函数将形显示出来。通过修改各参数,我们可以调整形的样式和显示效果。 除了基本的绘功能,matplotlib还提供了丰富的辅助函数和工具,帮助我们进行更高级的数据分析和可视化。例如,可以使用子函数创建多个形,并在一个画布上显示多个图表;可以使用颜色映射功能展示多维数据;可以使用交互式工具进行像缩放、平移和标记。 总之,matplotlib是一个功能强大的数据可视化库,可以帮助我们更好地理解和解释数据。它提供了丰富的绘功能和灵活的接口,使得我们可以轻松地创建各类型的图表形。通过掌握matplotlib的使用,我们可以更好地展示和分析数据,从而出准确的决策。若要了解更多关于python数据可视化matplotlib的实践方法,可以访问pan.baidu.com网站,获取更多资料。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值