I am plotting a scatter plot with 4 geom_ablines. The current plot looks like below:
I want to make two changes in the legend of this plot.
The code is:
fig <- ggplot(scalingdata, aes(x=Re, y=Sw, color=Size)) +
geom_point(size=3) +
theme_minimal() +
theme(panel.background = element_rect(fill = "#f0f4f5",
size = 0.5, linetype = "solid"),
panel.grid.major = element_blank(), panel.grid.minor = element_blank(),
panel.border = element_rect(color = "black",fill = NA,size = 1),
plot.title = element_text(size = 25, face = "italic"),
axis.title.y = element_text(size=17.5),
axis.text.y = element_text(size=15, face="bold"),
axis.title.x = element_blank(),
axis.text.x = element_blank())+
scale_x_log10(limits = c(1,10^8), breaks = trans_breaks("log10", function(x) 10^x),
labels = trans_format("log10", math_format(10^.x))) +
scale_y_log10(limits = c(1,10^8), breaks = trans_breaks("log10", function(x) 10^x),
labels = trans_format("log10", math_format(10^.x))) + annotation_logticks()
lines <- data.frame(name = c("Sw ~ Re^13/15", "Sw ~ Re^9/10", "Sw ~ Re^2/3", "Sw ~ Re^3/4"),
intercept = c(1, 0.79, 1.35, 1.1),
slope = c(13/15, 9/10, 2/3, 3/4))
fig + geom_abline(data = lines, aes(intercept=intercept, slope=slope, color=name, size=name, linetype=name))+ # color=name, size=name, linetype=name)+
scale_color_manual(name='Size',
values=c("Sw ~ Re^13/15" ='Blue', "Sw ~ Re^9/10" ='Blue',
"Sw ~ Re^2/3" ='Red', "Sw ~ Re^3/4" ='Red',
'Fish' = 'Blue', 'Larvae' = 'Red'),
breaks=lines$name) +
scale_size_manual(name='Size',
values=c("Sw ~ Re^13/15" =1, "Sw ~ Re^9/10" =1.25, "Sw ~ Re^2/3" =1, "Sw ~ Re^3/4" = 1.25)) +
scale_linetype_manual(name='Size',
values=c("Sw ~ Re^13/15" ='solid', "Sw ~ Re^9/10" ='dashed',
"Sw ~ Re^2/3" ='solid', "Sw ~ Re^3/4" ='dashed'))
And MRE is:
structure(list(X = 400:585, Sw = c(762000, 781000, 794000, 823000,
846000, 849000, 853000, 882000, 887000, 898000, 941000, 979000,
1030000, 1060000, 1070000, 1080000, 1090000, 1140000, 1170000,
6469900, 7584900, 7914000, 7995300, 8139300, 8254100, 8482100,
8485600, 8557900, 8642000, 8730800, 8734400, 8779000, 8812900,
8869100, 8902600, 8914600, 8975200, 9075000, 9203000, 9269900,
9481200, 9565700, 9656200, 9664300, 9821400, 9825700, 9989900,
10410400, 10552900, 10820800, 10959400, 11449900, 11855900, 41766.8,
44815, 46421, 51017, 52530, 54453, 55151, 60703, 60748, 61022,
61850, 62083, 64308, 65524, 66017, 66115, 66963, 69001, 70887,
74872, 74928, 76174, 85619, 85940, 300720, 349790, 414460, 507870,
538620, 540430, 570270, 595730, 617120, 667810, 687150, 697620,
704690, 717830, 741100, 754920, 760010, 769000, 825210, 875180,
899020, 1042220, 1665250, 1687780, 1930520, 2071620, 1484730,
1560040, 2205640, 3198090, 3225130, 4840500, 73.698, 91.148,
91.843, 126.687, 130.467, 155.199, 232.717, 602.22, 615.05, 619.05,
626.62, 655.73, 677.34, 747.73, 768.65, 778.66, 816.82, 859.61,
885.06, 906.12, 925.43, 975.49, 1020.79, 1024.12, 1091.84, 1094.5,
1114.2, 1122.36, 1165.94, 1290.31, 1291.33, 1302.88, 1361.19,
1477.34, 1543.46, 1564.86, 1609.89, 1679.22, 1720.21, 1748.66,
1769.04, 1778.18, 1804.09, 1816.32, 1842.21, 1861.27, 1861.88,
1875.09, 1957.71, 1975.41, 2028.23, 2049.21, 2193.15, 2214.41,
2320.91, 190.301, 213.437, 215.963, 217.451, 226.594, 227.932,
243.172, 244.607, 292.403, 297.318, 308.91, 310.428, 319.697,
332.16, 339.738, 345.449, 363.165, 388.971, 399.016, 414.572,
415.794, 453.714), Re = c(401000, 343000, 537000, 414000, 595000,
392000, 448000, 421000, 633000, 496000, 633000, 466000, 648000,
524000, 729000, 516000, 504000, 795000, 802000, 4114000, 3809200,
4687400, 4130800, 4228400, 4891300, 3757100, 3974800, 4798000,
4516600, 4074300, 4310400, 4479500, 3904400, 4358000, 6464600,
3851100, 4824400, 4412200, 5069000, 4642300, 4316300, 6473400,
4096700, 4572600, 5340600, 5041200, 5224500, 5429300, 5481800,
5952800, 7097300, 7165900, 7781600, 25778, 29630, 20784, 28523,
38410, 36744, 33414, 56160, 41702, 49165, 30384, 42771, 33623,
46439, 47329, 24810, 38161, 56150, 51390, 47929, 54400, 56860,
59810, 67890, 303110, 236540, 282380, 354240, 408170, 391180,
377560, 408170, 391180, 402420, 526760, 435040, 411070, 585800,
508420, 450730, 497730, 463680, 477010, 745400, 553540, 846800,
889800, 935100, 1047300, 1148400, 553800, 723800, 746600, 1720200,
2939400, 2374500, 10.115, 10.11, 12.227, 29.025, 20.106, 10.165,
17.613, 83.12, 105.2, 123.1, 148.64, 113.79, 111.14, 333.77,
120.21, 283, 206.68, 287.45, 341.67, 318.34, 291.98, 366.66,
456.8, 296.57, 467.7, 439.2, 415.7, 390.39, 456.8, 308.38, 478.8,
671.2, 606, 587.2, 542.8, 749, 760.9, 692.4, 659.3, 667.6, 643,
560.6, 777.7, 686.5, 735.2, 856.6, 690.8, 870, 710.4, 894.7,
730.6, 825, 817.3, 920.1, 880.8, 25.031, 32.901, 29.787, 27.193,
23.62, 29.056, 30.791, 23.425, 30.537, 36.339, 50.199, 58.272,
52.758, 54.085, 68.21, 27.193, 71.09, 50.617, 48.967, 44.702,
73.49, 73.49), Species = c("Dace, Trout, and Goldfish", "Dace, Trout, and Goldfish",
"Dace, Trout, and Goldfish", "Dace, Trout, and Goldfish", "Dace, Trout, and Goldfish",
"Dace, Trout, and Goldfish", "Dace, Trout, and Goldfish", "Dace, Trout, and Goldfish",
"Dace, Trout, and Goldfish", "Dace, Trout, and Goldfish", "Dace, Trout, and Goldfish",
"Dace, Trout, and Goldfish", "Dace, Trout, and Goldfish", "Dace, Trout, and Goldfish",
"Dace, Trout, and Goldfish", "Dace, Trout, and Goldfish", "Dace, Trout, and Goldfish",
"Dace, Trout, and Goldfish", "Dace, Trout, and Goldfish", "Giant Bluefin Tuna",
"Giant Bluefin Tuna", "Giant Bluefin Tuna", "Giant Bluefin Tuna",
"Giant Bluefin Tuna", "Giant Bluefin Tuna", "Giant Bluefin Tuna",
"Giant Bluefin Tuna", "Giant Bluefin Tuna", "Giant Bluefin Tuna",
"Giant Bluefin Tuna", "Giant Bluefin Tuna", "Giant Bluefin Tuna",
"Giant Bluefin Tuna", "Giant Bluefin Tuna", "Giant Bluefin Tuna",
"Giant Bluefin Tuna", "Giant Bluefin Tuna", "Giant Bluefin Tuna",
"Giant Bluefin Tuna", "Giant Bluefin Tuna", "Giant Bluefin Tuna",
"Giant Bluefin Tuna", "Giant Bluefin Tuna", "Giant Bluefin Tuna",
"Giant Bluefin Tuna", "Giant Bluefin Tuna", "Giant Bluefin Tuna",
"Giant Bluefin Tuna", "Giant Bluefin Tuna", "Giant Bluefin Tuna",
"Giant Bluefin Tuna", "Giant Bluefin Tuna", "Giant Bluefin Tuna",
"Stingrays", "Stingrays", "Stingrays", "Stingrays", "Stingrays",
"Stingrays", "Stingrays", "Stingrays", "Stingrays", "Stingrays",
"Stingrays", "Stingrays", "Stingrays", "Stingrays", "Stingrays",
"Stingrays", "Stingrays", "Stingrays", "Stingrays", "Stingrays",
"Stingrays", "Stingrays", "Stingrays", "Stingrays", "Saithe and Mackerel",
"Saithe and Mackerel", "Saithe and Mackerel", "Saithe and Mackerel",
"Saithe and Mackerel", "Saithe and Mackerel", "Saithe and Mackerel",
"Saithe and Mackerel", "Saithe and Mackerel", "Saithe and Mackerel",
"Saithe and Mackerel", "Saithe and Mackerel", "Saithe and Mackerel",
"Saithe and Mackerel", "Saithe and Mackerel", "Saithe and Mackerel",
"Saithe and Mackerel", "Saithe and Mackerel", "Saithe and Mackerel",
"Saithe and Mackerel", "Saithe and Mackerel", "Saithe and Mackerel",
"Saithe and Mackerel", "Saithe and Mackerel", "Saithe and Mackerel",
"Saithe and Mackerel", "Sharks", "Sharks", "Sharks", "Sharks",
"Sharks", "Sharks", "Ascidian Larvae", "Ascidian Larvae", "Ascidian Larvae",
"Ascidian Larvae", "Ascidian Larvae", "Ascidian Larvae", "Ascidian Larvae",
"Larval Zebrafish40", "Larval Zebrafish40", "Larval Zebrafish40",
"Larval Zebrafish40", "Larval Zebrafish40", "Larval Zebrafish40",
"Larval Zebrafish40", "Larval Zebrafish40", "Larval Zebrafish40",
"Larval Zebrafish40", "Larval Zebrafish40", "Larval Zebrafish40",
"Larval Zebrafish40", "Larval Zebrafish40", "Larval Zebrafish40",
"Larval Zebrafish40", "Larval Zebrafish40", "Larval Zebrafish40",
"Larval Zebrafish40", "Larval Zebrafish40", "Larval Zebrafish40",
"Larval Zebrafish40", "Larval Zebrafish40", "Larval Zebrafish40",
"Larval Zebrafish40", "Larval Zebrafish40", "Larval Zebrafish40",
"Larval Zebrafish40", "Larval Zebrafish40", "Larval Zebrafish40",
"Larval Zebrafish40", "Larval Zebrafish40", "Larval Zebrafish40",
"Larval Zebrafish40", "Larval Zebrafish40", "Larval Zebrafish40",
"Larval Zebrafish40", "Larval Zebrafish40", "Larval Zebrafish40",
"Larval Zebrafish40", "Larval Zebrafish40", "Larval Zebrafish40",
"Larval Zebrafish40", "Larval Zebrafish40", "Larval Zebrafish40",
"Larval Zebrafish40", "Larval Zebrafish40", "Larval Zebrafish40",
"Larval Zebrafish61", "Larval Zebrafish61", "Larval Zebrafish61",
"Larval Zebrafish61", "Larval Zebrafish61", "Larval Zebrafish61",
"Larval Zebrafish61", "Larval Zebrafish61", "Larval Zebrafish61",
"Larval Zebrafish61", "Larval Zebrafish61", "Larval Zebrafish61",
"Larval Zebrafish61", "Larval Zebrafish61", "Larval Zebrafish61",
"Larval Zebrafish61", "Larval Zebrafish61", "Larval Zebrafish61",
"Larval Zebrafish61", "Larval Zebrafish61", "Larval Zebrafish61",
"Larval Zebrafish61"), Size = c("Fish", "Fish", "Fish", "Fish",
"Fish", "Fish", "Fish", "Fish", "Fish", "Fish", "Fish", "Fish",
"Fish", "Fish", "Fish", "Fish", "Fish", "Fish", "Fish", "Fish",
"Fish", "Fish", "Fish", "Fish", "Fish", "Fish", "Fish", "Fish",
"Fish", "Fish", "Fish", "Fish", "Fish", "Fish", "Fish", "Fish",
"Fish", "Fish", "Fish", "Fish", "Fish", "Fish", "Fish", "Fish",
"Fish", "Fish", "Fish", "Fish", "Fish", "Fish", "Fish", "Fish",
"Fish", "Fish", "Fish", "Fish", "Fish", "Fish", "Fish", "Fish",
"Fish", "Fish", "Fish", "Fish", "Fish", "Fish", "Fish", "Fish",
"Fish", "Fish", "Fish", "Fish", "Fish", "Fish", "Fish", "Fish",
"Fish", "Fish", "Fish", "Fish", "Fish", "Fish", "Fish", "Fish",
"Fish", "Fish", "Fish", "Fish", "Fish", "Fish", "Fish", "Fish",
"Fish", "Fish", "Fish", "Fish", "Fish", "Fish", "Fish", "Fish",
"Fish", "Fish", "Fish", "Fish", "Fish", "Fish", "Fish", "Fish",
"Fish", "Larvae", "Larvae", "Larvae", "Larvae", "Larvae", "Larvae",
"Larvae", "Larvae", "Larvae", "Larvae", "Larvae", "Larvae", "Larvae",
"Larvae", "Larvae", "Larvae", "Larvae", "Larvae", "Larvae", "Larvae",
"Larvae", "Larvae", "Larvae", "Larvae", "Larvae", "Larvae", "Larvae",
"Larvae", "Larvae", "Larvae", "Larvae", "Larvae", "Larvae", "Larvae",
"Larvae", "Larvae", "Larvae", "Larvae", "Larvae", "Larvae", "Larvae",
"Larvae", "Larvae", "Larvae", "Larvae", "Larvae", "Larvae", "Larvae",
"Larvae", "Larvae", "Larvae", "Larvae", "Larvae", "Larvae", "Larvae",
"Larvae", "Larvae", "Larvae", "Larvae", "Larvae", "Larvae", "Larvae",
"Larvae", "Larvae", "Larvae", "Larvae", "Larvae", "Larvae", "Larvae",
"Larvae", "Larvae", "Larvae", "Larvae", "Larvae", "Larvae", "Larvae",
"Larvae"), St = c(0.302433374165808, 0.362389853900744, 0.235323518267981,
0.316386985184939, 0.226293726046568, 0.344699568138944, 0.303033145076212,
0.333430716272689, 0.223017542504579, 0.288146783640142, 0.236594709692005,
0.334361212296077, 0.252977172911813, 0.321953903004644, 0.233601359236799,
0.333114218203138, 0.344203337900817, 0.228221648865378, 0.232183102213908,
0.250295128437197, 0.316909457357351, 0.268709577645423, 0.308048935041855,
0.306358622430061, 0.268574355248053, 0.359310368633893, 0.339771064454215,
0.283874302307228, 0.3045241557553, 0.341051647591493, 0.322503638696486,
0.311913824779625, 0.359239145081061, 0.323900368274474, 0.219176667244061,
0.368414047393468, 0.296087410852063, 0.327348653980426, 0.288952360656955,
0.317805173505505, 0.349599499061661, 0.23518164782688, 0.375138127690756,
0.336377010833042, 0.292686346632698, 0.310204924915008, 0.304323523404437,
0.30517060120053, 0.306385178491378, 0.289305836077696, 0.245760867447159,
0.254302170218483, 0.242484923070044, 0.257870165748749, 0.240719274240546,
0.355471244064845, 0.2846681185215, 0.217661796677678, 0.235860109140741,
0.262690301692974, 0.17202920082822, 0.231843122013434, 0.197537480456343,
0.323976771042564, 0.231016184479705, 0.304402110063851, 0.224562202134299,
0.221997238656593, 0.424123516982184, 0.279276421804133, 0.195580134425664,
0.219536681625896, 0.248622358777944, 0.219212016357345, 0.213215622321579,
0.227832389358595, 0.20146919759615, 0.157899648862937, 0.235354178413181,
0.233597292524979, 0.228178161508506, 0.210019930393074, 0.219878073423756,
0.240388487016993, 0.232288390949214, 0.251079985698921, 0.264114641433334,
0.207614593756514, 0.255216558855981, 0.272835854188107, 0.19502547907645,
0.231992157091137, 0.266565280053204, 0.243021448263837, 0.263953297612413,
0.27533163553866, 0.186864632918074, 0.258487448689974, 0.195883416277148,
0.297855865613987, 0.287261150364813, 0.293374469828208, 0.28710187409247,
0.426691163020906, 0.343033292092993, 0.47018174096222, 0.295890385833758,
0.17462549544427, 0.32444207224037, 1.15960193451398, 1.43487842039073,
1.1954881211204, 0.694670633111126, 1.03274740893889, 2.42996854423028,
2.10287709536259, 1.15310473651356, 0.930494475702483, 0.800362608672448,
0.670946160047344, 0.917149369794335, 0.969963623056172, 0.356546865546547,
1.01767041791117, 0.437905647321569, 0.628994758168588, 0.475946636660009,
0.41227308378791, 0.453016082808868, 0.504440080025434, 0.423426859723028,
0.355655416919196, 0.549594966348079, 0.371544423161221, 0.396618119014455,
0.426581724604903, 0.457564804982094, 0.406227408970275, 0.66592753876014,
0.429242005148684, 0.308938181405404, 0.357491106253483, 0.400417939035907,
0.452558426733727, 0.332516184043711, 0.336734593477769, 0.385984313372426,
0.415257522282799, 0.416877219867739, 0.437870609858534, 0.504826034458151,
0.3692029958207, 0.421086132923672, 0.398797799365072, 0.345820252410603,
0.428961656779362, 0.343022005040261, 0.43859585449659, 0.351397709779422,
0.441831474644956, 0.395322591846656, 0.42707677378149, 0.383038227789757,
0.419372655758695, 1.20999057171145, 1.0324754309382, 1.15390937655487,
1.27269225907284, 1.52681925668428, 1.24850012592141, 1.25692362442215,
1.66191343132771, 1.52396351968135, 1.30216898419267, 0.979390794690607,
0.84785205830123, 0.964426984707154, 0.977438888352537, 0.792711561574157,
2.02183603756457, 0.813045009817121, 1.22303796362965, 1.29689832478866,
1.47601961377895, 0.900469664727307, 0.982591604164768)), row.names = 400:585, class = "data.frame")
THANK YOU...
Using the data you have provided + How to change angle of line in customized legend in ggplot2
library(ggplot2)
library(grid)
GeomAbline$draw_key <- function(data, params, size)
{
segmentsGrob(0, 0.5, 1, 0.5, gp = gpar(col = alpha(data$colour,
data$alpha), lwd = data$size * .pt, lty = data$linetype,
lineend = "butt"))
}
ggplot() +
geom_point(data = scalingdata,
mapping = aes(x=Re, y=Sw, color=Size),
size=3,
show.legend = F) +
geom_abline(data = lines,
mapping = aes(intercept=intercept,
slope=slope,
color=name,
size=name,
linetype=name))+
scale_color_manual(name='Size',
values=c("Sw ~ Re^13/15" ='Blue', "Sw ~ Re^9/10" ='Blue',
"Sw ~ Re^2/3" ='Red', "Sw ~ Re^3/4" ='Red',
'Fish' = 'Blue', 'Larvae' = 'Red'),
breaks=lines$name) +
scale_x_log10(limits = c(1,10^8), breaks = trans_breaks("log10", function(x) 10^x),
labels = trans_format("log10", math_format(10^.x))) +
scale_y_log10(limits = c(1,10^8), breaks = trans_breaks("log10", function(x) 10^x),
labels = trans_format("log10", math_format(10^.x))) + annotation_logticks() +
scale_linetype_manual(name='Size',
values=c("Sw ~ Re^13/15" ='solid', "Sw ~ Re^9/10" ='dashed',
"Sw ~ Re^2/3" ='solid', "Sw ~ Re^3/4" ='dashed')) +
scale_size_manual(name='Size',
values=c("Sw ~ Re^13/15" =1, "Sw ~ Re^9/10" =1.25, "Sw ~ Re^2/3" =1, "Sw ~ Re^3/4" = 1.25)) +
theme_minimal() +
theme(panel.background = element_rect(fill = "#f0f4f5",
size = 0.5, linetype = "solid"),
panel.grid.major = element_blank(), panel.grid.minor = element_blank(),
panel.border = element_rect(color = "black",fill = NA,size = 1),
legend.key.size = unit(1, 'cm'),
plot.title = element_text(size = 25, face = "italic"),
axis.title.y = element_text(size=17.5),
axis.text.y = element_text(size=15, face="bold"),
axis.title.x = element_blank(),
axis.text.x = element_blank())