gpt4 book ai didi

python - 控制所有子图上的 xaxis 刻度线大小

转载 作者:太空宇宙 更新时间:2023-11-03 12:45:59 25 4
gpt4 key购买 nike

我有以下代码,它在一定程度上起作用。但是,它只会更改其中一个子图的 xticks 的大小。我怎样才能改变它来改变所有这些的大小?

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np

input_file = 'CSP.csv'
output_file = 'sub_plots.png'
df = pd.read_csv(input_file, header = 0)
classes = ['SD','SC','FIR','MD','UA','LB']

f, axarr = plt.subplots(2, 3)
f.tight_layout()

i=0
for r in range(2):
for c in range(3):
axarr[r][c].hist(df.CSP_change[(df.Class==classes[i])].values,10,rwidth=1, alpha=0.3)
axarr[r][c].set_title(classes[i])
axarr[r][c].spines['top'].set_visible(False)
axarr[r][c].spines['right'].set_visible(False)
axarr[r][c].spines['bottom'].set_visible(True)
axarr[r][c].spines['left'].set_visible(True)
axarr[r][c].get_xaxis().tick_bottom()
axarr[r][c].get_yaxis().tick_left()
plt.xticks(fontsize=6)
i += 1

#save
plt.savefig(output_file)

histogram

我尝试将 plt 更改为 axarr[r][c],但它给了我一条关于没有属性 xticks 的错误消息。

最佳答案

plt.xticks 仅作用于创建的最终子图轴。你想在所有子图中设置它。您有两个选择:

1) 您可以使用 tick_params 为每个轴设置刻度标签大小轴的属性。使用此行代替您当前拥有的 plt.xticks 行:

axarr[r][c].tick_params(axis='x',labelsize=6)

2) 您可以使用 rcParams 为所有子图全局设置它(正如@DavidG 所建议的)。在创建图形和轴之前放置此行:

plt.rcParams['xtick.labelsize'] = 6

关于python - 控制所有子图上的 xaxis 刻度线大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35721404/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com