#r #ggplot2 #themes #customization
#r #ggplot2 #темы #настройка
Вопрос:
В настоящее время я пытаюсь создать свою собственную пользовательскую тему в ggplot2, и у меня возникли небольшие проблемы с некоторыми вещами. Я с радостью создам несколько вопросов, если они будут оценены лучше, но пока я сгруппирую те, которые у меня есть на данный момент.
Итак, моя тема в настоящее время :
library(ggplot2)
# On definit les couleurs
CouleurTitre = "#006CE5" #Bleu titre
Couleur_QuadrillagePrimaire ="#B9CDE5"
Couleur01 = rgb(000,112,192, maxColorValue = 255) # Bleu
Couleur02 = rgb(255,102,000, maxColorValue = 255) # Orange
Couleur03 = rgb(000,176,080, maxColorValue = 255) # Vert
Couleur04 = rgb(255,102,000, maxColorValue = 255) # Jaune d'or
Couleur05 = rgb(192,000,000, maxColorValue = 255) # Rouge
Couleur06 = rgb(128,128,128, maxColorValue = 255) # Gris
Couleur07 = rgb(000,176,240, maxColorValue = 255) # Bleu ciel
Couleur08 = rgb(102,255,051, maxColorValue = 255) # Vert pomme
Couleur09 = rgb(102,255,051, maxColorValue = 255) # Violet
Couleur10 = rgb(247,150,070, maxColorValue = 255) # Saumon
Palette_Tresor = sapply((sprintf("Couleurd", 1:10)),function(x) get(x),USE.NAMES = FALSE)
# Theme Tresor
Theme_Tresor <- theme_classic()
theme(plot.title = element_text(size=18, face="bold", hjust=0.5, color=CouleurTitre))
theme(panel.grid.major = element_line(colour=Couleur_QuadrillagePrimaire, size=0.5, lineend = "butt"))
theme(axis.title.x = element_blank(),axis.title.y = element_blank())
theme(panel.background = element_rect(colour = "Black",size=1.5))
theme(legend.title=element_blank(),legend.position="bottom")
theme(axis.ticks=element_blank())
theme_set(Theme_Tresor)
ggprev <- function(...){
ggplot(...)
Theme_Tresor
scale_colour_manual(values =Palette_Tresor)
Теперь один из примеров данных, которые у меня есть, выглядит следующим образом :
library(data.table)
MWE <- data.table(
Periode = structure(c(12784, 12815, 12843, 12874,
12904, 12935, 12965, 12996, 13027, 13057, 13088, 13118, 13149,
13180, 13208, 13239, 13269, 13300, 13330, 13361, 13392, 13422,
13453, 13483, 13514, 13545, 13573, 13604, 13634, 13665, 13695,
13726, 13757, 13787, 13818, 13848, 13879, 13910, 13939, 13970,
14000, 14031, 14061, 14092, 14123, 14153, 14184, 14214, 14245,
14276, 14304, 14335, 14365, 14396, 14426, 14457, 14488, 14518,
14549, 14579, 14610, 14641, 14669, 14700, 14730, 14761, 14791,
14822, 14853, 14883, 14914, 14944, 14975, 15006, 15034, 15065,
15095, 15126, 15156, 15187, 15218, 15248, 15279, 15309, 15340,
15371, 15400, 15431, 15461, 15492, 15522, 15553, 15584, 15614,
15645, 15675, 15706, 15737, 15765, 15796, 15826, 15857, 15887,
15918, 15949, 15979, 16010, 16040, 16071, 16102, 16130, 16161,
16191, 16222, 16252, 16283, 16314, 16344, 16375, 16405, 16436,
16467, 16495, 16526, 16556, 16587, 16617, 16648, 16679, 16709,
16740, 16770, 16801, 16832, 16861, 16892, 16922, 16953, 16983,
17014, 17045, 17075, 17106, 17136, 17167, 17198, 17226, 17257,
17287, 17318, 17348, 17379, 17410, 17440, 17471, 17501, 17532,
17563, 17591, 17622, 17652, 17683, 17713, 17744, 17775, 17805,
17836, 17866, 17897, 17928, 17956, 17987, 18017, 18048, 18078,
18109, 18140, 18170, 18201, 18231, 18262, 18293, 18322, 18353,
18383, 18414, 18444, 18475, 18506, 18536, 18567, 18597, 18628,
18659, 18687, 18718, 18748, 18779, 18809, 18840, 18871, 18901,
18932, 18962), class = "Date"),
Valeur = c(5446.161, 5501.393,
5600.871, 5562.833, 5596.484, 5442.133, 5253.323, 5198.516, 4213.9,
4554.871, 4856.933, 4988.065, 5047.71, 5031.929, 5027.194, 5081.667,
5150.613, 5162.767, 5094.226, 5039.71, 5030.767, 5108.161, 5064.2,
5186.097, 5107.839, 5117.929, 5119.258, 5180.2, 5211.161, 5075.167,
5037.935, 4969.645, 4902.033, 5021.935, 5034.067, 5110.581, 5115.065,
5148.172, 5189.29, 5180.067, 5143.065, 5137.733, 5176.806, 5002.935,
3973.6, 4737.677, 5078.1, 5102.742, 5144.129, 5239.214, 5218.581,
5278.1, 5376.903, 5269.333, 5397.968, 5417.581, 5558.833, 5524.419,
5394.667, 5451.774, 5404.161, 5553.393, 5515.323, 5392.3, 5400.871,
5379.5, 5297.903, 5447.323, 5615.767, 5630.613, 5575.733, 5607.516,
5494.613, 5403.536, 5615.452, 5557.733, 5622.903, 5588, 5440.226,
5664.581, 5614.467, 5901.032, 6035.3, 6047.548, 6171.355, 6266.621,
6326.129, 6324.233, 6368.194, 6269.4, 6424.387, 6349.129, 6595.8,
6965.935, 7076.667, 7098.71, 7082.742, 7151.286, 7205.903, 7371.633,
7325.613, 7276.567, 7524.323, 7532, 7837.2, 7757.645, 7916.8,
7928.323, 8072.71, 8152.214, 8292.774, 8521.2, 8643.677, 8746.2,
8845.871, 8919.581, 9081.7, 9263.355, 9322.1, 9566.129, 9388.484,
9509.714, 9585.516, 9661.467, 9481.194, 9361.633, 9447.194, 9415.677,
9490.6, 9406, 9336.9, 9281.161, 9202.226, 9064.724, 9087.742,
8870.033, 8832.903, 8670.2, 8663.355, 8685.194, 8543.733, 8840.548,
8905.467, 8845.29, 8873.194, 9107.75, 9192.097, 9114.467, 9207.484,
9134.233, 9265.516, 9263.71, 9533.433, 9667.903, 10087.767, 9992.71,
9998.161, 10260.643, 10488.323, 10495.933, 10456.323, 10604.467,
10903.065, 11383.323, 11463.233, 11553.903, 11906.967, 12003.677,
11864.903, 11678.75, 11937.226, 12134.633, 12163.129, 12087.467,
11818.968, 12424.677, 12495.133, 12672.516, 12859.767, 12802.097,
12754.871, 12745.586, 12737.065, 12009.967, 10018.839, 10442.2,
10979.871, 10579.258, 10917.064, 10562.342, 11242.724, 11184.819,
11055.617, 10941.56, 10904.779, 10842.503, 10798.816, 10750.963,
10708.717, 10703.262, 10731.424, 10729.991, 10799.714, 10901.462
))
Мой первый график просто такой :
ggprev(data=MWE,
aes(x=Periode,y=Valeur))
geom_line(size=1)
Теперь первые два вопроса :
- Черная рамка вокруг графика кажется более толстой с правой и нижней стороны, почему это так?
- Почему мой график не в первом цвете, который я установил (который является синим):
Couleur01
, хотя моя функция явно упоминает об этомscale_coulour_manuel(values=Palette_Tresor)
Затем я пытаюсь сделать график немного более сложным :
ggprev(data=MWE,
aes(x=Periode,y=Valeur))
geom_line(size=1)
scale_x_date(limits = c(as.Date("2010-01-01"),NA), expand = c(0, 0))
scale_y_continuous(limits = c(5000,15000),expand = c(0, 0),labels=function(x) format(x, big.mark = " ", decimal.mark = ",", scientific = FALSE))
ggtitle("Production des trois plus gros producteurs")
Теперь в дополнение к вышеупомянутым вопросам возникают еще два :
- Как я могу передать тот факт, что я хочу, чтобы моя ось начиналась с угла рамки в теме?
- Теперь у меня вверху немного серого цвета, который, кажется, покрывает черную рамку, в дополнение к тому, что рамка все еще не имеет одинаковой толщины
Комментарии:
1. Привет, Энтони. 1. Это действительно несколько вопросов. 2. Кроме того, поскольку ваш вопрос касается тематизации и не связан с вашими конкретными данными, я бы предложил использовать встроенный набор данных, например, ggplot2::economics. 3. Что касается вашего второго вопроса.
scale_color_manual
задает цвета дляcolor
aes. Поскольку вы ничего не отображаете вcolor
aes, это не имеет никакого эффекта.2. Спасибо, я разделил свои вопросы