5行代码,带你完成数据可视化

Posted 医维视界

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了5行代码,带你完成数据可视化相关的知识,希望对你有一定的参考价值。

医维视界致力面向广大医生群体提供IT相关的解决方案包括大数据处理、数据分析、IT应用工具等等。

帮助医疗工作人员充分利用AI等相关技术赋能医疗行业,提高医疗从业者的工作效率。  

·······以下正文·····


很多医生在论文中,都需要对实验数据进行可视化工作,便于观察其中规律和趋势,不同数据之间是否具备统计学差异


在数据统计过程需要绘图方便统计,如统计直方图、饼状图、生存分析图、火山图等等


那这次医疗助手小维给大家介绍一下如何使用python可以非常简单的画出图表


matplotlib和seaborn是python中应用较多的两个可视化库,可以支持方便的在python环境下进行数据可视化,以便满足数学统计与分析的需要


本文重点介绍matplotlib的使用,对于各类图形,尝试只用5行代码内完成可视化操作


1.绘制函数图像 

1.1 生成数据,这里先生成一个简单的x的平方函数和三次方函数,定义域取值在0到10间

import numpy as npimport matplotlib.pyplot as plt
x = np.linspace(0, 10, 200, endpoint=True)x_square,x_cube = x**2,x**3


1.2 使用默认配置实现简易绘图,这里只需要三行代码,即可实现可视化 

plt.plot(x,x_square)plt.plot(x,x_cube)
plt.show()

效果图:



1.3 接下来我们试试改变一下图像的颜色,线条宽度。color的取值便是颜色,linewidth代表宽度

plt.plot(x,x_square,color="blue", linewidth=2.5)plt.plot(x,x_cube,color="red", linewidth=2.5)
plt.show()

效果图:

5行代码,带你完成数据可视化(一)


1.4 接下来我们试着加上图例,说明一下每个线条代表什么,这里用到plt.legend()函数,里面的loc参数表示图例的位置 

plt.plot(x,x_square,color="blue", linewidth=2.5, linestyle="-",label="x_square")plt.plot(x,x_cube,color="red", linewidth=2.5, linestyle="-",label="x_cube")plt.legend(loc='upper left')
plt.show()

效果图:

5行代码,带你完成数据可视化(一)


1.5 接下来我们试着在x轴和y轴加上我们的变量名称,这里用x_data和y_data表示,为了好看,我们再加个网格,用plt.grid(True)实现

plt.plot(x,x_square,color="blue", linewidth=2.5, linestyle="-",label="x_square")plt.plot(x,x_cube,color="red", linewidth=2.5, linestyle="-",label="x_cube")plt.legend(loc='upper left')plt.xlabel("x_data"),plt.ylabel("y_data")plt.grid(True)

效果图:

5行代码,带你完成数据可视化(一)


2 饼状图

饼状图一般用于统计占比时候使用,我们也试试通过5行代码来解决可视化问题


2.1 首先生成随机数据,这里要在1到5之间取5个数

import numpy as npimport matplotlib.pyplot as plt
Z = np.arange(1,6)


接着我们通过两行代码画个饼状图,调用plt.pie()即可

plt.pie(Z)plt.show()

效果图:

5行代码,带你完成数据可视化(一)


2.2 接着我们看看加上标题:十月份的花销,主要在饮食,子女花费,交通等几方面。并且将占比算出来 

labels = ['food','child','house','travel','other']plt.pie(Z,labels=labels,autopct='%1.1f%%',shadow=False,startangle=150)plt.title("money cost in oct")plt.show()

效果图:

5行代码,带你完成数据可视化(一)


2.3 当我们想侧重展示某一块,那么就可以用explode这个参数,如下,explode=[0.05,0,0,0,0],第一项food设为0.05,表示突出这一项

labels = ['food','child','house','travel','other']plt.pie(Z,labels=labels,explode=[0.05,0,0,0,0],autopct='%1.1f%%',shadow=False,startangle=150)plt.title("money cost in oct")plt.show()

5行代码,带你完成数据可视化(一)


2.4 我们还可以给饼状图第每一片加上边缘,看起来效果更好,需设置shadow=True,同样的,我们在左上角加上图例,用到的依然是legend()函数,bbox_to_anchor用来设置边距

labels = ['food','child','house','travel','other']plt.pie(Z,labels=labels,explode=[0.05,0,0,0,0],autopct='%1.1f%%',shadow=True,startangle=150)plt.title("money cost in oct")plt.legend(loc="upper right",bbox_to_anchor=(1.5,0.5))plt.show()

效果图:

5行代码,带你完成数据可视化(一)


3.柱状图 

3.1 同样的我们先生成数据 

X = np.arange(5)Y1 = (1-X/10)

3.2 运用plt.bar()即可 

plt.bar(X, Y1)

效果图:

5行代码,带你完成数据可视化(一) 


3.3 然后我们加一些颜色,这里的'#9999ff'是颜色的16进制信息,使用这种方式的好处是可以设置任何你想要的颜色,你在网上调色板可以选择自己喜欢的颜色,生成16进制信息即可,许多网页都提供该功能

plt.bar(X, Y1, facecolor='#9999ff')

效果图:

5行代码,带你完成数据可视化(一)


3.4 我们也可以设置bar的宽度,比如 width=0.5,同样的我们加上x和y轴的名称,这里用到的是plt.xlabel()和plt.ylabel() 

plt.bar(X, Y1, facecolor='#9999ff', width=0.5)plt.xlabel("x_data"),plt.ylabel("y_data")
plt.show()

效果图:

5行代码,带你完成数据可视化(一)

3.5 接着我们加上图例,比如这里是全国五个城市的信息,citys = ("北京", "上海", "广州", "深圳", "成都"),我们加上label="citys"参数,加上plt.legend(),则表示添加图例

citys = ("beijing", "shanghai", "guangzhou", "shenzhen", "chengdu")plt.bar(X, Y1, facecolor='#9999ff',label="citys", width=0.5,tick_label=citys)plt.xlabel("x_data"),plt.ylabel("y_data")plt.legend()plt.show()

效果图:


后面将给广大医疗朋友们继续分享数据可视化相关内容,敬请期待!

如有不解的地方欢迎后台留言

发送内容: 【医院名字】【科室】【姓名】【联系方式】【需要什么帮助】


往期回顾: 


以上是关于5行代码,带你完成数据可视化的主要内容,如果未能解决你的问题,请参考以下文章

可视化表格怎么做

5行代码带你爬取 “2021福布斯排行榜“,看看中国都有哪些人?

5行代码带你爬取 “2021福布斯排行榜“,看看中国都有哪些人?

Echarts数据可视化一个项目带你学会酷炫的数据可视化

Python入门可视化:22个完整数据可视化小例子,带你玩转可视化~

5行代码带你爬取 "2021福布斯排行榜",看看中国都有谁上榜?