熊猫图未显示y轴刻度

问题描述

我正在尝试通过读取如下excel文件来使用熊猫绘制性能统计信息。我有许多可以正常工作的数据集图,但是即使我尝试了多种方法,也无法绘制y点。我怀疑问题出在实际值上。所有列的值都低于10000,而异常的最后一列的值则高于70000(注意:此值为预期结果)。我注意到的另一件事是,如果不使用plt.yscale('symlog',base=10),它会绘制y轴刻度值,但是我真的想对y-ticks使用symlog选项

import pandas as pd
import numpy as np
# import matplotlib
# import matplotlib.ticker as ticker
import matplotlib.pyplot as plt
from matplotlib.gridspec import GridSpec
import seaborn
seaborn.set()

import numpy as np
#color = ['blue','green','#bc15b0','indigo']
colors = ['tab:blue','tab:green','tab:orange','tab:red','tab:olive']
linestyle = ["-s","-x","-+","o-"]
plot_lines = ["A","B","C","D"]
SIZE=[256,128,64,32,16,8,4]
plot_title=['1GB','512MB ','256MB','128MB','64MB','32MB','16MB','8MB','4MB']
file_locn = ''r'C:\Users\me\Desktop\stat.xlsx'''
df1 = pd.read_excel(file_locn,sheet_name='LC-DS1',header=[0,1])

df_1024 = df1.xs(1024,axis=1,level=0)
df_512 = df1.xs(512,level=0)
df_256 = df1.xs(256,level=0)
df_128 = df1.xs(128,level=0)
df_64 = df1.xs(64,level=0)
df_32 = df1.xs(32,level=0)
df_16 = df1.xs(16,level=0)
df_8 = df1.xs(8,level=0)
df_4 = df1.xs(4,level=0)
nrow=3
ncol=3
# make a list of all dataframes
df_list = [df_1024,df_512,df_256,df_128,df_64,df_32,df_16,df_8,df_4]

fig,axes = plt.subplots(nrow,ncol,sharex=True,sharey=True)
# plot counter
count = 0
for c in range(ncol):
    df_list[count].set_axis(SIZE)
    count += 1

plt.xscale('symlog',base=2)
plt.yscale('symlog',base=10)
count=0
axes[0,0].set_ylabel('Access count ')
axes[1,0].set_ylabel('Access count ')
axes[2,0].set_xlabel('Size in MB')
axes[2,1].set_xlabel('Size in MB')
axes[2,2].set_xlabel('Size in MB')

major_ticks = np.arange(0,90000,15000)
minor_ticks = np.arange(0,10001,1000)

axes[0,0].set_yticks(major_ticks)
axes[1,0].set_yticks(major_ticks)
axes[2,0].set_yticks(major_ticks)
axes[0,0].set_yticks(minor_ticks,minor=True)
axes[1,minor=True)
axes[2,minor=True)

for r in range(nrow):
    for c in range(ncol):
        df_list[count].set_index('SIZE').plot(style=linestyle,ax=axes[r,c],legend=False)
        axes[r,c].set_title(plot_title[count])
        axes[r,c].set_xlim(3.7,280)
        count+=1
lines,labels = fig.axes[-1].get_legend_handles_labels()

fig.legend(lines,labels,loc='upper center',ncol=4)
plt.show()

enter image description here

enter image description here

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)