簡體   English   中英

在 plot 中交換刻度標簽

[英]Swap tick labels in plot

如何切換以下 seaborn kdeplot 的 x 和 y 值(我想要獲得的是 x[i]=y[i] 和 y[i]=x[i] for i=0,.. .,len(x),假設 x 和 y 是存儲 x 和 y 軸的向量)? 我目前的 output: 在此處輸入圖像描述

import matplotlib as plt
import seaborn as sns
adoptions = [0.0625,0.166667,0.000381,0.00365,0.166667,0.083333,0.111111,0.00905,0.125, 0.142857,0.2,0.2,0.002132,0.25,0.041667,0.02381,0.2,0.111111,0.027027,0.111111,0.25,0.166667,0.047619,0.066667,0.012346,0.142857,0.1,0.166667,0.166667,0.25, 0.5,0.013514,0.011494,1,0.014925,0.090909, 0.25,0.001456,0.2,0.005618, 0.2, 0.00289,0.25,0.142857,0.017857,0.010638,0.05,0.333333,0.005034, 0.2, 0.5,0.2, 0.125,0.015625,0.027778,0.5,0.071429,0.001429, 0.076923,0.25,0.333333,0.019417,0.2,0.03125,0.333333,0.142857,0.028571,0.001961,0.0625,0.125,0.125,0.2,0.166667,0.090909,0.25,0.008929,0.2, 0.142857,0.5,0.333333,0.090909,0.003106,0.002222,0.2,0.333333,0.001733,0.1,0.010526,0.00885,0.333333,0.003571,0.034483,0.5,0.111111,0.083333,0.0625,0.166667,0.004329,0.2,0.020833,0.111111,0.090909,0.083333,0.25,0.166667,0.25, 0.00088,0.166667,0.142857,0.017857,0.000709,        0.111111,0.005128,0.047619,0.036697,0.166667,0.333333,0.00232,0.045455,0.166667,0.003984,0.007299,0.25,1,0.001423,0.058824,0.001229, 0.035088,0.25,0.111111,0.009901, 0.1,0.5,0.022727,0.166667,0.017241,0.001295,0.111111,0.333333,0.028571,0.016129,0.058824,0.000849,0.25,0.1,0.166667,0.25,0.333333,0.045455,0.02381,0.2,0.05,0.020408,0.5,0.001393,0.071429,0.005618,0.166667,0.022222,0.003569,0.002336,0.005435,0.000787,0.00361,0.009901,0.001513,0.017857,0.32258,0.166667,0.002584,0.004032,0.038462,0.001208,0.125,0.0625,0.076923,0.333333,0.003344,0.013158,0.026316,0.166667,0.000491,0.017241,0.142857,0.020833,0.015152,0.05,0.003175,0.034483,0.017241,0.2,0.076923,0.25,0.034483,0.002398,0.001546,0.001267,0.25,0.008547,0.003257,0.010204,0.2,0.125,0.014925,0.111111,0.010526,0.001395,0.166667,0.009091,0.009009,0.002732,0.000584,0.022222,0.004202,0.006667,0.002326,0.333333,0.033473,0.2,0.01087,0.052632,0.142857,0.25,0.019231,0.016667,0.001174,0.003484]
p = sns.kdeplot(adoptions, shade=True, color="red")
np_x = np.array(adoptions)
plt.axvline(np_x.mean(), color='gray', linestyle='dashed', linewidth=3,
                            label='Threshold: {:.2f}'.format(np_x.mean()))
plt.ylabel("π")
plt.xlabel("% ^HT")
plt.legend()
plt.show()

以下是使用get_x/yticksset_x/yticklabels

fig, ax = plt.subplots(figsize=(18,8))
g = sns.kdeplot(adoptions, shade=True, color="red")

yticks = ax.get_yticks()
xticks = ax.get_xticks()

n = len(min([yticks, xticks], key=len))
g.set_xticklabels(yticks[:n])
g.set_yticklabels([f'{tick:.1f}' for tick in xticks])
g.set_xticks(xticks[:n])
g.set_yticks(yticks[:n])
g.axvline(np_x.mean(), color='gray', linestyle='dashed', linewidth=3,
                            label='Threshold: {:.2f}'.format(np_x.mean()))
plt.ylabel("π")
plt.xlabel("% ^HT")
plt.show()

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM