利用自己的祖源成分结果画祖源成分饼图
方法一:编程法
概述
编程语言:python3.8
模块:matplotlib
(当然如果要是通过读取csv或excel表格的话肯定还少不了pandas
)
可选:jupyter notebook
整体思路:祖源成分数据的可视化
优势:在数据量较大
的时候较方法二速度快
代码如下图所示:
import matplotlib.pyplot as plt
# 设置显示中文
plt.rcParams['font.sans_serif'] = ['SimHei']
# 准备数据
labels = ['北方汉族','蒙古语族群','南方汉族','日本人','韩国人','畲族','其他']
values = [48.12, 26.16, 12.05, 11.78, 1.31, 0.51, 0.07]
# 画图
plt.pie(values)
plt.title('yhlhhhhh的微基因祖源成分饼图')
plt.show()
图片展示:
说明:
pie
函数是这个脚本的最重要的部分,其中参数values
可以是个数的数据,当然直接输入百分比…问题也不大,labels
是标签,在这里也就是各种祖源成分名称了。这俩参数都支持numpy
和pandas
直接输入(注意pandas的不可以是数据帧哈)title
函数是用来设置标题的,这个没啥好说的- 一定要记得前面那个设置中文的语句!!!否则文字部分会是乱码(用Windows和Mac的小盆友的设置方法有差异!当时我弄这个弄了俩小时…)
- 记得最后要写
show
函数,不然咋弄都不显示的233333
但这时候我们发现:因为有一些数据由于占比过小,导致一些成分名称会聚集在一起而看不清成分名称。
所以这个时候,我们的解决方案是:设立一个图例
经过对图例的设定以及位置的调整,我们得到的饼图是这样的:
看起来舒服多了吧
代码在这里:
import matplotlib.pyplot as plt
# 设置显示中文
plt.rcParams['font.sans-serif'] = ['SimHei']
# 准备数据
labels = ['北方汉族','蒙古语族群','南方汉族','日本人','韩国人','畲族','其他']
values = [48.12, 26.16, 12.05, 11.78, 1.31, 0.51, 0.07]
# 开始画图
plt.pie(values)
plt.legend(loc="center left", bbox_to_anchor=(0.91, 0, 0.3, 1), labels = labels)
plt.title('yhlhhhhh的微基因祖源成分饼图')
plt.show()
说明:
legend
函数是专门用来添加图例
的,其中的参数loc
bbox_to_anchor
labels
的作用分别是粗略
调整图例位置
,详细
调整图例位置
以及图例的内容
方法二:excel法
概述
软件:WPS
方法:直接在WPS
里输数据直接画,这个不多说了
优势:数据较少
的时候,比方法一速度快