首页 > 编程知识 正文

包含疫情饼状图python代码实现的词条

时间:2023-12-16 10:45:32 阅读:316278 作者:FDXF

本文目录一览:

「Python」使用Pyecharts生成疫情分布地图

最近受江苏疫情影响,好多小伙伴都居家办公咯!为了密切关注疫情动态,最近写了爬取疫情分布的脚本,参考上篇链接。

既然我们已经获得了相应的江苏各个地级市的疫情数据,那么我们如何来使用Python实现将数据可视化在地图上呢?

Apache Echarts 是一个由百度开源的数据可视化,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可。而 Python 是一门富有表达力的语言,很适合用于数据处理。当数据分析遇上数据可视化时,pyecharts 诞生了。

简单来说,pyecharts具有以下特性:

3. Pyecharts 安装

使用pip进行安装如下:

因为我们需要使用pycharts绘制地图,此时我们还需要安装相应的地图文件包:

其中:

echarts-countries-pypkg 包为全球国家地图

echarts-china-provinces-pypkg包为中国省级地图

echarts-china-cities-pypkg 包为中国市级地图

安装完上述绘制地图相关的python包后,我们接下来开始画疫情分布地图。

首先,我们先来查看一段Pyecharts相关实现:

上述代码解释如下:

运行后会在当前目录生成 map_jiangsu_0803.html,用浏览器打开后结果如下:

当鼠标移动到对应区域后,会显示出对应地级市今日新增人数。

上述脚本虽然可以实现我们的功能,但是颜色灰灰的,太过于单调,接下来我们来想办法进行美化,实现代码如下:

代码解释如下:

运行后会在当前目录生成 map_jiangsu_0803_new.html,用浏览器打开后结果如下:

同理我们可以得到现有确诊人数分布如下:

进而我们可以得到累计确诊人数分布如下:

python中如何画饼图

饼形图:

饼图是圆形统计图。

整个图表的区域代表100%或全部数据。

饼图中显示的饼图区域代表数据部分的百分比。

饼图的各个部分称为楔形。

楔形的弧长决定饼图中楔形的面积。

楔形的面积决定了零件相对于整体的相对量子或百分比。

饼图经常用于业务演示中,因为它们可以快速概述业务活动,例如销售,运营等。

饼形图还大量用于调查结果,新闻文章,资源使用图(如磁盘和内存)中。

使用Python Matplotlib绘制简单的饼图

可以使用pyplot模块中的函数pie()绘制饼图。 以下python代码示例使用pie()函数绘制了一个饼图。

默认情况下,pyplot的pie()功能沿逆时针方向排列饼图中的饼形或楔形。

如何用python绘制各种图形

1.环境

系统:windows10

python版本:python3.6.1

使用的库:matplotlib,numpy

2.numpy库产生随机数几种方法

import numpy as np

numpy.random

rand(d0, d1, ..., dn)  

In [2]: x=np.random.rand(2,5)

In [3]: x

Out[3]:

array([[ 0.84286554,  0.50007593,  0.66500549,  0.97387807,  0.03993009],

[ 0.46391661,  0.50717355,  0.21527461,  0.92692517,  0.2567891 ]])

randn(d0, d1, ..., dn)查询结果为标准正态分布

In [4]: x=np.random.randn(2,5)

In [5]: x

Out[5]:

array([[-0.77195196,  0.26651203, -0.35045793, -0.0210377 ,  0.89749635],

[-0.20229338,  1.44852833, -0.10858996, -1.65034606, -0.39793635]])

randint(low,high,size)  

生成low到high之间(半开区间 [low, high)),size个数据

In [6]: x=np.random.randint(1,8,4)

In [7]: x

Out[7]: array([4, 4, 2, 7])

random_integers(low,high,size)  

生成low到high之间(闭区间 [low, high)),size个数据

In [10]: x=np.random.random_integers(2,10,5)

In [11]: x

Out[11]: array([7, 4, 5, 4, 2])

3.散点图

x x轴

y y轴

s   圆点面积

c   颜色

marker  圆点形状

alpha   圆点透明度                #其他图也类似这种配置

N=50# height=np.random.randint(150,180,20)# weight=np.random.randint(80,150,20)

x=np.random.randn(N)

y=np.random.randn(N)

plt.scatter(x,y,s=50,c='r',marker='o',alpha=0.5)

plt.show()

4.折线图

x=np.linspace(-10000,10000,100) #将-10到10等区间分成100份

y=x**2+x**3+x**7

plt.plot(x,y)

plt.show()

折线图使用plot函数

5.条形图

N=5

y=[20,10,30,25,15]

y1=np.random.randint(10,50,5)

x=np.random.randint(10,1000,N)

index=np.arange(N)

plt.bar(left=index,height=y,color='red',width=0.3)

plt.bar(left=index+0.3,height=y1,color='black',width=0.3)

plt.show()

orientation设置横向条形图

N=5

y=[20,10,30,25,15]

y1=np.random.randint(10,50,5)

x=np.random.randint(10,1000,N)

index=np.arange(N)# plt.bar(left=index,height=y,color='red',width=0.3)# plt.bar(left=index+0.3,height=y1,color='black',width=0.3)#plt.barh() 加了h就是横向的条形图,不用设置orientation

plt.bar(left=0,bottom=index,width=y,color='red',height=0.5,orientation='horizontal')

plt.show()

6.直方图

m1=100

sigma=20

x=m1+sigma*np.random.randn(2000)

plt.hist(x,bins=50,color="green",normed=True)

plt.show()

# #双变量的直方图# #颜色越深频率越高# #研究双变量的联合分布

#双变量的直方图#颜色越深频率越高#研究双变量的联合分布

x=np.random.rand(1000)+2

y=np.random.rand(1000)+3

plt.hist2d(x,y,bins=40)

plt.show()

7.饼状图

#设置x,y轴比例为1:1,从而达到一个正的圆

#labels标签参数,x是对应的数据列表,autopct显示每一个区域占的比例,explode突出显示某一块,shadow阴影

labes=['A','B','C','D']

fracs=[15,30,45,10]

explode=[0,0.1,0.05,0]#设置x,y轴比例为1:1,从而达到一个正的圆

plt.axes(aspect=1)#labels标签参数,x是对应的数据列表,autopct显示每一个区域占的比例,explode突出显示某一块,shadow阴影

plt.pie(x=fracs,labels=labes,autopct="%.0f%%",explode=explode,shadow=True)

plt.show()

8.箱型图

import matplotlib.pyplot as pltimport numpy as npdata=np.random.normal(loc=0,scale=1,size=1000)#sym 点的形状,whis虚线的长度plt.boxplot(data,sym="o",whis=1.5)plt.show()

#sym 点的形状,whis虚线的长度

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。