fill指定分组变量,每个组用不同的颜色填充。
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.1.2
library(gcookbook)
cabbage_exp <- cabbage_exp
ggplot(cabbage_exp,aes(Date,Weight, fill=Cultivar))+
geom_bar(position = "dodge",stat = "identity",color="black")
upc <- subset(uspopchange,rank(Change)>40)
upc
## State Abb Region Change
## 3 Arizona AZ West 24.6
## 6 Colorado CO West 16.9
## 10 Florida FL South 17.6
## 11 Georgia GA South 18.3
## 13 Idaho ID West 21.1
## 29 Nevada NV West 35.1
## 34 North Carolina NC South 18.5
## 41 South Carolina SC South 15.3
## 44 Texas TX South 20.6
## 45 Utah UT West 23.8
ggplot(upc, aes(x=Abb,y=Change, fill=Region))+geom_bar(stat = "identity")
## reorder()将条形按其高度进行排序
#reorder接受两个值-两个参数,第一个是要排的数据(排序发生在谁身上),第二个是根据什么来排。
#xlab()是加一个x轴的标签。
ggplot(upc,aes(x=reorder(Abb,Change),y=Change,fill=Region))+
geom_bar(stat="identity",color="black")+scale_fill_manual(values=c("#669933","#FFCC66"))+
xlab("State")
#用的是climate数据集中的一个子集
csub <- subset(climate,Source=="Berkeley" & Year>=1900)
#用判断,返回的是逻辑值组成的向量,赋值给新的列变量,csub会多一列
csub$pos <- csub$Anomaly10y>=0
csub
## Source Year Anomaly1y Anomaly5y Anomaly10y Unc10y pos
## 101 Berkeley 1900 NA NA -0.171 0.108 FALSE
## 102 Berkeley 1901 NA NA -0.162 0.109 FALSE
## 103 Berkeley 1902 NA NA -0.177 0.108 FALSE
## 104 Berkeley 1903 NA NA -0.199 0.104 FALSE
## 105 Berkeley 1904 NA NA -0.223 0.105 FALSE
## 106 Berkeley 1905 NA NA -0.241 0.107 FALSE
## 107 Berkeley 1906 NA NA -0.294 0.106 FALSE
## 108 Berkeley 1907 NA NA -0.312 0.105 FALSE
## 109 Berkeley 1908 NA NA -0.328 0.103 FALSE
## 110 Berkeley 1909 NA NA -0.281 0.101 FALSE
## 111 Berkeley 1910 NA NA -0.247 0.099 FALSE
## 112 Berkeley 1911 NA NA -0.243 0.097 FALSE
## 113 Berkeley 1912 NA NA -0.257 0.100 FALSE
## 114 Berkeley 1913 NA NA -0.268 0.100 FALSE
## 115 Berkeley 1914 NA NA -0.257 0.097 FALSE
## 116 Berkeley 1915 NA NA -0.249 0.095 FALSE
## 117 Berkeley 1916 NA NA -0.214 0.096 FALSE
## 118 Berkeley 1917 NA NA -0.201 0.096 FALSE
## 119 Berkeley 1918 NA NA -0.176 0.096 FALSE
## 120 Berkeley 1919 NA NA -0.182 0.097 FALSE
## 121 Berkeley 1920 NA NA -0.193 0.097 FALSE
## 122 Berkeley 1921 NA NA -0.167 0.098 FALSE
## 123 Berkeley 1922 NA NA -0.128 0.096 FALSE
## 124 Berkeley 1923 NA NA -0.075 0.097 FALSE
## 125 Berkeley 1924 NA NA -0.064 0.098 FALSE
## 126 Berkeley 1925 NA NA -0.065 0.100 FALSE
## 127 Berkeley 1926 NA NA -0.050 0.100 FALSE
## 128 Berkeley 1927 NA NA -0.020 0.099 FALSE
## 129 Berkeley 1928 NA NA -0.018 0.099 FALSE
## 130 Berkeley 1929 NA NA -0.026 0.100 FALSE
## 131 Berkeley 1930 NA NA -0.014 0.101 FALSE
## 132 Berkeley 1931 NA NA -0.047 0.098 FALSE
## 133 Berkeley 1932 NA NA -0.035 0.096 FALSE
## 134 Berkeley 1933 NA NA -0.017 0.093 FALSE
## 135 Berkeley 1934 NA NA 0.020 0.092 TRUE
## 136 Berkeley 1935 NA NA 0.053 0.089 TRUE
## 137 Berkeley 1936 NA NA 0.063 0.085 TRUE
## 138 Berkeley 1937 NA NA 0.048 0.081 TRUE
## 139 Berkeley 1938 NA NA 0.073 0.079 TRUE
## 140 Berkeley 1939 NA NA 0.113 0.076 TRUE
## 141 Berkeley 1940 NA NA 0.113 0.072 TRUE
## 142 Berkeley 1941 NA NA 0.134 0.071 TRUE
## 143 Berkeley 1942 NA NA 0.134 0.069 TRUE
## 144 Berkeley 1943 NA NA 0.127 0.070 TRUE
## 145 Berkeley 1944 NA NA 0.111 0.068 TRUE
## 146 Berkeley 1945 NA NA 0.072 0.066 TRUE
## 147 Berkeley 1946 NA NA 0.035 0.066 TRUE
## 148 Berkeley 1947 NA NA 0.042 0.064 TRUE
## 149 Berkeley 1948 NA NA 0.045 0.063 TRUE
## 150 Berkeley 1949 NA NA 0.013 0.062 TRUE
## 151 Berkeley 1950 NA NA 0.010 0.058 TRUE
## 152 Berkeley 1951 NA NA -0.017 0.054 FALSE
## 153 Berkeley 1952 NA NA -0.040 0.047 FALSE
## 154 Berkeley 1953 NA NA -0.040 0.043 FALSE
## 155 Berkeley 1954 NA NA -0.032 0.038 FALSE
## 156 Berkeley 1955 NA NA -0.022 0.035 FALSE
## 157 Berkeley 1956 NA NA 0.012 0.031 TRUE
## 158 Berkeley 1957 NA NA 0.007 0.028 TRUE
## 159 Berkeley 1958 NA NA 0.002 0.027 TRUE
## 160 Berkeley 1959 NA NA 0.002 0.026 TRUE
## 161 Berkeley 1960 NA NA -0.019 0.026 FALSE
## 162 Berkeley 1961 NA NA -0.001 0.021 FALSE
## 163 Berkeley 1962 NA NA 0.017 0.018 TRUE
## 164 Berkeley 1963 NA NA 0.004 0.016 TRUE
## 165 Berkeley 1964 NA NA -0.028 0.018 FALSE
## 166 Berkeley 1965 NA NA -0.006 0.017 FALSE
## 167 Berkeley 1966 NA NA -0.024 0.017 FALSE
## 168 Berkeley 1967 NA NA -0.041 0.019 FALSE
## 169 Berkeley 1968 NA NA -0.025 0.020 FALSE
## 170 Berkeley 1969 NA NA -0.019 0.024 FALSE
## 171 Berkeley 1970 NA NA 0.010 0.026 TRUE
## 172 Berkeley 1971 NA NA 0.007 0.022 TRUE
## 173 Berkeley 1972 NA NA 0.015 0.015 TRUE
## 174 Berkeley 1973 NA NA 0.028 0.012 TRUE
## 175 Berkeley 1974 NA NA 0.049 0.014 TRUE
## 176 Berkeley 1975 NA NA 0.068 0.012 TRUE
## 177 Berkeley 1976 NA NA 0.128 0.011 TRUE
## 178 Berkeley 1977 NA NA 0.158 0.012 TRUE
## 179 Berkeley 1978 NA NA 0.167 0.013 TRUE
## 180 Berkeley 1979 NA NA 0.193 0.012 TRUE
## 181 Berkeley 1980 NA NA 0.186 0.016 TRUE
## 182 Berkeley 1981 NA NA 0.217 0.016 TRUE
## 183 Berkeley 1982 NA NA 0.235 0.014 TRUE
## 184 Berkeley 1983 NA NA 0.270 0.014 TRUE
## 185 Berkeley 1984 NA NA 0.318 0.014 TRUE
## 186 Berkeley 1985 NA NA 0.344 0.013 TRUE
## 187 Berkeley 1986 NA NA 0.352 0.012 TRUE
## 188 Berkeley 1987 NA NA 0.380 0.011 TRUE
## 189 Berkeley 1988 NA NA 0.370 0.013 TRUE
## 190 Berkeley 1989 NA NA 0.366 0.017 TRUE
## 191 Berkeley 1990 NA NA 0.433 0.019 TRUE
## 192 Berkeley 1991 NA NA 0.467 0.018 TRUE
## 193 Berkeley 1992 NA NA 0.496 0.017 TRUE
## 194 Berkeley 1993 NA NA 0.526 0.019 TRUE
## 195 Berkeley 1994 NA NA 0.554 0.020 TRUE
## 196 Berkeley 1995 NA NA 0.563 0.019 TRUE
## 197 Berkeley 1996 NA NA 0.565 0.022 TRUE
## 198 Berkeley 1997 NA NA 0.618 0.022 TRUE
## 199 Berkeley 1998 NA NA 0.680 0.023 TRUE
## 200 Berkeley 1999 NA NA 0.734 0.025 TRUE
## 201 Berkeley 2000 NA NA 0.748 0.026 TRUE
## 202 Berkeley 2001 NA NA 0.793 0.027 TRUE
## 203 Berkeley 2002 NA NA 0.856 0.028 TRUE
## 204 Berkeley 2003 NA NA 0.869 0.028 TRUE
## 205 Berkeley 2004 NA NA 0.884 0.029 TRUE
#把新列pos作为分类变量,就会按正数和负数填充成不同颜色。
ggplot(csub,aes(x=Year,y=Anomaly10y,fill=pos))+
geom_bar(stat="identity",position = "identity")
#用scale_fill_manual()修改颜色,guide="none"是指参数去掉图例
ggplot(csub,aes(x=Year,y=Anomaly10y,fill=pos))+geom_bar(stat="identity",position="identity",color="black",size=0.25)+scale_fill_manual(values = c("#CCEEFF","#FFDDDD"),guide="none")