Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R提高图表日志轴的可读性_R_Charts_Ggplot2_Scale_Logarithm - Fatal编程技术网

R提高图表日志轴的可读性

R提高图表日志轴的可读性,r,charts,ggplot2,scale,logarithm,R,Charts,Ggplot2,Scale,Logarithm,实际上,我一直致力于提高图表的可读性(你可以看到下面的示例) 我有超过15个图表,有不同的x轴a和y轴长度,它们都是对数的。主要问题(正如您在该示例图表上看到的)是x轴上标签的密度和y轴上的稀疏刻度 每个图表的刻度线由以下特别行定义: scale_x_log10(breaks = c(1, seq(10,10000,10))) + scale_y_log10(breaks = c(1, seq(500,10000,500))) 但很明显,它无法处理我的要求,即“不要压倒,也不要如此稀疏”。如果

实际上,我一直致力于提高图表的可读性(你可以看到下面的示例)

我有超过15个图表,有不同的x轴a和y轴长度,它们都是对数的。主要问题(正如您在该示例图表上看到的)是x轴上标签的密度和y轴上的稀疏刻度

每个图表的刻度线由以下特别行定义:

scale_x_log10(breaks = c(1, seq(10,10000,10))) + scale_y_log10(breaks = c(1, seq(500,10000,500)))
但很明显,它无法处理我的要求,即“不要压倒,也不要如此稀疏”。如果我以任何其他方式定义labels param而不是ticks,ggplot就会抛出一个错误(“中断和标签的长度不相等”)

有没有办法改进这种对数刻度标签

事先非常感谢

数据+代码:

标题1=“NM_001271428_1” x1=c(1,2,3,4.5,8.5,12,15.5,22.5,34.5,44.5,54,70.5,93.5124.5164205.5257.5327405.5497.5583.5665.5761.5858) y1=c(50,78,75103.5178.5240294.5405586.57128109871215.51494180420552317.526162838.529852917.526622284.51716) title2=“NR_034168_1” x2=c(1,3,14.5,67) y2=c(10,12,43.5134) title3=“NM_000016_4” x3=c(1,2,3,4,5,6,9,12,16,25,39.5,63.5,97142210.5326.5512) y3=c(19,36,51,60,70,78108132160225316444.5582710842979.51024) title4=“NM\u 004672\u 3” x4=c(1,2,3,4,5.5,8,10.5,13,15.5,18,22,27.5,35.5,43.5,53.5,65,79104136.5173209.5253.5313402.5508.5630) y4=c(32,54,75,96126.5176220.5260294.5324374440532.5609695.578086910401228.513841466.51521156101525.51260) title5=“NM_006243_3” x5=c(1,2,3,5.5,10,19.5,36.5,60,92128193304444.5607.5) y5=c(22,28,39,66110195328.548064476896512161333.51215) title6=“NM_198460_2” x6=c(1.5,3,4.5,6.5,10,13.5,16,20.5,29,41.5,63,90.5128.5187261346446543636.5731) y6=c(40.5,63,85.511717021624028273774986939051156.5149618272076223021721909.51462) title7=“NM_001024212_1” x7=c(1,3,6,11.5,30.5,89) y7=c(53,18,30,46,91.5178) title8=“NM_001040196_1” x8=c(1,2,4,10,19.5,32,62.5129.5250.5) y8=c(14,20,32,70117160250388.5501) title9=“NM_001122681_1” x9=c(1,2,3,4.5,6,7,8,9,10.5,12,13,15,18.5,23.5,31,39,44.5,54,64.5,72.5,82,91.5100.5111.5132.5161.5192219.5257307352401463530596.5668741.5819893) y9=c(93,86123175.522225280306346.5384403450536.5634.58069751068124214191522.516401738.518091895.521202422.526882853.530843377352036093704371035793340296624571786) title10=“NM_001137552_1” x10=c(1,2,3,4,5.5,7,8,9,12,17.5,21.5,25,32.5,43,56,77101.5133.5194267.5345.5453.5582.5726) y10=c(69,52,75,96121147160171216280322.5350422.5516616770913.51068135816051727.518141747.51452) title11=“NM_001166109_1” x11=c(1,2,3,4.5,6.5,10,16.5,23,33.5,47,63,90.5135191258338.5430529.5640758.5) y11=c(31,42,60,81110.5160247.5322435.556469390512151528218062032150211818119201517)
p您可以检查此答案并应用于x轴:

最好的,
ZP

谢谢,这让我找到了最简单的解决方案——手动定义断点:scale_y_log10(断点=c(seq(50500,50),seq(5001000100),seq(10002000250),seq(200010000500)))