婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 教你怎么用python繪制dotplot

教你怎么用python繪制dotplot

熱門標簽:上海機器人外呼系統哪家好 地圖標注的意義點 南京銷售外呼系統軟件 蓋州市地圖標注 地圖制圖標注位置改變是移位嗎 房產電銷外呼系統 地圖標注微信發送位置不顯示 315電話機器人廣告 浙江電銷卡外呼系統好用嗎

一、前言

R語言不少庫都可以方便的畫dotplot,但是低頻使用R這么多年,我依舊覺得R不是一門真正的編程語言。目前,在python中繪制dotplot貌似沒有很輕量、方便的庫,因此工作之余寫了這個python_dotplot包,方便自己也希望能夠方便他人吧。

二、安裝

可以通過pypi快速安裝:

pip install python_dotplot

該package當然可能存在一定的bug,所以也會處于不斷迭代的過程中,可以通過以下方式獲得特定或最新版本

pip install python_dotplot --upgrade
pip install python_dotplot==0.0.1b1

如果通過--upgrade參數不能獲得最新版本,國內鏡像會有一定的延遲,可指定pypi官方源指定鏡像:

pip install -i https://pypi.python.org/pypi python_dotplot

三、模塊導入

import dotplot
import dotplot.utils
import pandas as pd

%config InlineBackend.figure_format = 'retina'  # 如果你的電腦設備是視網膜屏,可指定該參數渲染jupyter圖像,會超清晰,超好看

包的層級結構很簡單,主要包括以下模塊:

dotplot

├── cmap.py # 自定義color map

├── core.py # 實現了Dotplot類,用于封裝數據以及繪圖

├── hierarchical.py # 實現了層次聚類,用于支持dotplot行和列通過層次聚類進行自動排序

├── __init__.py # 初始化模塊

└── utils.py # 實用函數,目前是夾帶私貨,我自己用的預處理函數,也許對其他人也有用

四、數據準備

我們首先需要準備一個數據,這里要求輸入必須是一個tidy data格式的pandas Dataframe,簡而言之,tidy data是指在該數據框中每一行是一個觀測,每一列是一個屬性,下面以示例數據為例:

term_list = ['GO:0002455', 'GO:0006958', 'GO:0006956', 'GO:0038096','GO:0002673',
             'GO:0051251', 'GO:0060333', 'GO:0006910','GO:0002483', 'GO:0002440',
             'GO:0009141', 'GO:0009123', 'GO:0006119', 'GO:0009260', 'GO:0015985', 'GO:0015986', 'GO:0006260',
            'GO:0044843', 'GO:0061621', 'GO:0061718']

up = pd.read_csv('./example_data/group1.csv', header=0, index_col=0)
down = pd.read_csv('./example_data/group2.csv', header=0, index_col=0)

data = dotplot.utils.merge_clusterprofile_results(dataframes=(up, down), groups=['B6_up', 'B6_down'], term_list=term_list)
data.head()
Description GeneRatio BgRatio pvalue p.adjust qvalue geneID Count group
ID
GO:0002455 humoral immune response mediated by circulatin... 22/178 150/18670 19.365993 16.222197 16.298589 HLA-DQB1/CD55/IGHM/PTPRC/TRBC2/IGHG2/IGKV3-20/... 22 B6_up
GO:0006958 complement activation, classical pathway 20/178 137/18670 17.588789 14.989062 15.065454 CD55/IGHM/TRBC2/IGHG2/IGKV3-20/IGHV4-34/IGHV3-... 20 B6_up
GO:0006956 complement activation 20/178 175/18670 15.453684 13.008859 13.085251 CD55/IGHM/TRBC2/IGHG2/IGKV3-20/IGHV4-34/IGHV3-... 20 B6_up
GO:0038096 Fc-gamma receptor signaling pathway involved i... 18/178 139/18670 14.916693 12.675988 12.752379 PTPRC/LYN/IGHG2/IGKV3-20/IGHV4-34/IGHV3-30/IGL... 18 B6_up
GO:0002673 regulation of acute inflammatory response 18/178 159/18670 13.871614 11.817674 11.894066 HLA-E/CD55/IGHG2/IGKV3-20/IGHV4-34/IGHV3-30/IG... 18 B6_up

五、畫圖

首先我們可以借助 DotPlot的類方法parse_from_tidy_data 對數據進行封裝,然后直接調用plot函數進行繪圖。當然,你也可以通過DotPlot的構造函數__init__()來實例化DotPlot對象。

  • 一維數據展示
new_keys = {'item_key': 'Description','group_key': 'group','sizes_key': 'Count'}
dp = dotplot.DotPlot.parse_from_tidy_data(data, **new_keys)
sct = dp.plot(size_factor=10, cmap='Reds')  # 通過size_factor 調節圖中點的大小

dp = dotplot.DotPlot.parse_from_tidy_data(data, item_key='Description', group_key='group', sizes_key='Count')  # 該效果完全同上,這是python語言特性
sct = dp.plot(size_factor=10, cmap='Reds')

  • 二維數據展示

我們可以通過color_key指定data中的列做顏色映射。

new_keys = {'item_key': 'Description','group_key': 'group','sizes_key': 'Count','color_key': 'pvalue'}
dp = dotplot.DotPlot.parse_from_tidy_data(data, **new_keys)
sct = dp.plot(size_factor=10, cmap='Reds', cluster_row=True)

  • ​三維數據展示

可以通過circle_key增加一列作為虛線圓圈的映射。

DEFAULT_CLUSTERPROFILE_KEYS = {
    'item_key': 'Description', 'group_key': 'group',
    'sizes_key': 'Count', 'color_key': 'pvalue',
    'circle_key': 'qvalue'
}
dp = dotplot.DotPlot.parse_from_tidy_data(data, **DEFAULT_CLUSTERPROFILE_KEYS)
sct = dp.plot(size_factor=10, cmap='Reds', cluster_row=True)

當然,更多的參數我們可以通過signature來查看,我對這些參數都做了類型注釋,應該是通俗易懂的:

?dp.plot
Signature:
dp.plot(
    size_factor:float=15,
    vmin:float=0,
    vmax:float=None,
    path:Union[os.PathLike, NoneType]=None,
    cmap:Union[str, matplotlib.colors.Colormap]='Reds',
    cluster_row:bool=False,
    cluster_col:bool=False,
    cluster_kws:Union[Dict, NoneType]=None,
    **kwargs,
)
Docstring:
:param size_factor: `size factor` * `value` for the actually representation of scatter size in the final figure
:param vmin: `vmin` in `matplotlib.pyplot.scatter`
:param vmax: `vmax` in `matplotlib.pyplot.scatter`
:param path: path to save the figure
:param cmap: color map supported by matplotlib
:param kwargs: dot_title, circle_title, colorbar_title, dot_color, circle_color
            other kwargs are passed to `matplotlib.Axes.scatter`
:param cluster_row, whether to cluster the row
:param cluster_col, whether to cluster the col
:param cluster_kws, key args for cluster, including `cluster_method`, `cluster_metric`, 'cluster_n'
:return:

因此,我們可以通過關鍵字參數修改圖例中的部分組件:

sct = dp.plot(size_factor=10, cmap='Reds', cluster_row=True,
dot_title = 'Count', circle_title='-log10(qvalue)',
colorbar_title = '-log10(pvalue)')

六、寫在篇末

dotplot在數據可視化中是一個強有力的展示方式,選擇一個合適的可視化方式勝過千言萬語

最后,最適合的可視化方式是最直觀、最簡潔的,不是炫技,別被花里胡哨的可視化所迷住雙眼而忽略了信息的傳達。

到此這篇關于教你怎么用python繪制dotplot的文章就介紹到這了,更多相關python繪制dotplot內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 看看如何用Python繪制小米新版天價logo
  • Python繪制分類圖的方法
  • 用Python的繪圖庫(matplotlib)繪制小波能量譜
  • python opencv常用圖形繪制方法(線段、矩形、圓形、橢圓、文本)
  • python 繪制斜率圖進行對比分析
  • 通過python讀取txt文件和繪制柱形圖的實現代碼
  • python爬取股票最新數據并用excel繪制樹狀圖的示例
  • python繪制漢諾塔
  • 用python 繪制莖葉圖和復合餅圖

標簽:臨汾 陽泉 雙鴨山 金華 日照 克拉瑪依 貴州 赤峰

巨人網絡通訊聲明:本文標題《教你怎么用python繪制dotplot》,本文關鍵詞  教你,怎么,用,python,繪制,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《教你怎么用python繪制dotplot》相關的同類信息!
  • 本頁收集關于教你怎么用python繪制dotplot的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    天天操天天干天天综合网| 91亚洲男人天堂| 日韩一区二区三| 成人激情图片网| 国产一区二区福利视频| 亚洲福中文字幕伊人影院| 亚洲日本va在线观看| 久久亚洲精品国产精品紫薇| 欧美系列日韩一区| 91看片淫黄大片一级在线观看| 国产精品2024| 福利一区在线观看| 97精品国产97久久久久久久久久久久| 久久av中文字幕片| 美女久久久精品| 成人av电影在线观看| 国产成人精品1024| 99久久久久免费精品国产| 色狠狠桃花综合| 欧美变态口味重另类| 久久精品这里都是精品| 亚洲欧美日韩国产另类专区 | 欧美又粗又大又爽| 日韩午夜激情免费电影| 久久理论电影网| 一区二区三区国产豹纹内裤在线| 日韩中文欧美在线| 不卡一区二区三区四区| 欧美电影免费观看高清完整版 | 欧美色精品在线视频| 99精品热视频| 国产亚洲一区字幕| 亚洲成年人影院| 国产一区999| 欧美日韩一级大片网址| 精品国产乱码久久久久久久久 | 国产精品第13页| 美女爽到高潮91| 欧美区一区二区三区| 亚洲色图制服丝袜| 色呦呦日韩精品| 亚洲精品老司机| 色系网站成人免费| 国产精品亲子乱子伦xxxx裸| 蜜桃视频在线一区| 欧美电视剧在线看免费| 国产真实乱偷精品视频免| 欧美日韩一区二区三区高清| 亚洲黄色性网站| 欧美日韩成人激情| 另类小说图片综合网| 2021久久国产精品不只是精品| 日本不卡免费在线视频| 日韩精品一区二区三区在线| 免费人成黄页网站在线一区二区 | 国产视频视频一区| 国产91色综合久久免费分享| 欧美国产视频在线| 成人avav影音| 午夜欧美2019年伦理| 精品久久久久久久久久久久包黑料 | 男人的天堂亚洲一区| 欧美精品一区二区不卡| 91蜜桃传媒精品久久久一区二区| 亚洲欧美日韩电影| 91精品国产综合久久精品图片 | 91麻豆精品国产91| 国产传媒久久文化传媒| 亚洲欧美国产三级| 日韩精品一区二区三区在线| 成人h版在线观看| 免费在线观看一区| 国产成人精品一区二区三区四区| 国产精品女主播av| 日韩女优av电影在线观看| 一本久久精品一区二区| 国模少妇一区二区三区| 日韩中文字幕1| 一区二区三区高清| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 欧美一区二区三区免费观看视频 | 欧美日韩国产综合一区二区三区| 激情五月播播久久久精品| 亚洲午夜视频在线观看| 中文在线一区二区 | 精品一区二区国语对白| 亚洲高清免费在线| 亚洲私人黄色宅男| 中文一区二区完整视频在线观看 | 婷婷成人综合网| 亚洲国产一区二区a毛片| 亚洲综合在线视频| 亚洲午夜私人影院| 麻豆一区二区99久久久久| 婷婷夜色潮精品综合在线| 秋霞午夜鲁丝一区二区老狼| 麻豆91精品91久久久的内涵| 黄一区二区三区| 国产精品18久久久久久久网站| 亚洲福利国产精品| 韩国毛片一区二区三区| 国产成人在线观看免费网站| 成人夜色视频网站在线观看| 一本久道久久综合中文字幕| 欧美一区二区三区四区高清| 久久免费视频色| 亚洲综合色区另类av| 久久精品久久久精品美女| 国产精品99久久久久久有的能看 | 日韩一级片在线播放| 久久久国产午夜精品| 亚洲蜜臀av乱码久久精品| 日本中文字幕一区二区视频| 风间由美一区二区三区在线观看 | 综合久久久久久久| 亚洲综合一二三区| 国产成人日日夜夜| 91麻豆精品国产综合久久久久久| 久久久久国产成人精品亚洲午夜| 亚洲欧美激情视频在线观看一区二区三区 | 国产伦理精品不卡| 欧美三级资源在线| 亚洲乱码国产乱码精品精98午夜| 国产一区二区成人久久免费影院| 在线播放中文字幕一区| 午夜精品久久久久久久久| 日韩av在线播放中文字幕| 丝袜国产日韩另类美女| 国产精品综合久久| 国产精品福利一区二区三区| 国产成人精品综合在线观看 | 99精品在线观看视频| 亚洲三级电影网站| 91久久线看在观草草青青| 最新中文字幕一区二区三区 | 色www精品视频在线观看| 91在线观看地址| 欧美亚洲一区三区| 精品乱人伦一区二区三区| 国产精品福利在线播放| 日本人妖一区二区| eeuss国产一区二区三区| 在线观看免费亚洲| 精品一区二区综合| 亚洲视频一区二区在线观看| 日本乱人伦一区| 国内精品视频666| 久久久精品国产99久久精品芒果| 成人av集中营| 国内精品免费**视频| 亚洲婷婷国产精品电影人久久| 欧美男生操女生| caoporm超碰国产精品| 精品一区二区三区免费视频| 中文乱码免费一区二区| 在线成人高清不卡| 在线一区二区三区四区| a亚洲天堂av| 国产成人精品www牛牛影视| 日韩中文欧美在线| 亚洲国产成人精品视频| 欧美国产精品一区二区| 欧美成人性战久久| 69堂精品视频| 日韩一级免费观看| 日韩一区二区三区电影在线观看| 在线观看视频一区| 91蜜桃网址入口| 欧美亚洲图片小说| 欧美日韩一区小说| 日韩一区和二区| 久久亚洲影视婷婷| 日本一区二区视频在线| 中文字幕av一区二区三区高 | 蜜臀av在线播放一区二区三区| 欧美一区国产二区| 成人h动漫精品一区二区| 午夜精品免费在线观看| 久久久久97国产精华液好用吗| 成人午夜激情片| 久久精品噜噜噜成人88aⅴ| 日韩美女视频一区二区 | 色婷婷综合久久久中文字幕| 成人黄色电影在线| 97久久人人超碰| 91蝌蚪porny九色| 亚洲成人三级小说| 亚洲激情欧美激情| 亚洲精品一二三| 亚洲精品亚洲人成人网| 精品奇米国产一区二区三区| 欧美制服丝袜第一页| 国产高清不卡一区二区| 久久se精品一区精品二区| 免费日本视频一区| 日韩1区2区日韩1区2区| 日韩精品一区第一页| 国产成人精品影视| 成人午夜av影视| 91最新地址在线播放|