stat_density2d为在零附近过度分散的数据绘制较差的多边形

时间:2017-03-14 17:34:28

标签: r ggplot2 rstudio

当使用stat_density2d绘制数据时,当数据位于零附近时会变得非常难看。我该如何解决这个问题? 除非这不是一个问题,但我完全误解了这个概念是如何运作的。

enter image description here

x <- {c(0.23, 0.016, 0.452, 0.104, 0.245, 0.784, 0.491, 0.171, 0.456, 
0.61, 1.394, 0.271, 0.218, 0.041, 0.749, 1.53, 0.578, 0.308, 
0.092, 0.053, 0.306, 0.086, 0.338, 0.197, 0.162, 0.119, 0.154, 
0.243, 0.166, 0.91, 0.158, 0.405, 0.852, 2.708, 0.343, 0.186, 
0.307, 0.227, 0.422, 0.246, 1.259, 0.537, 1.249, 0.712, 0.382, 
0.137, 0.402, 1.023, 0.466, 0.059, 0.61, 0.386, 1.502, 0.133, 
0.214, 0.421, 0.103, 0.035, 1.718, 1.501, 1.507, 0.398, 1.054, 
1.88, 0.032, 0.48, 0.39, 0.385, 1.069, 0.226, 1.197, 0.85, 0.118, 
0.108, 2.092, 0.33, 1.581, 1.173, 0.155, 0.497, 0.141, 0.199, 
0.645, 1.037, 0.653, 0.068, 0.625, 3.248, 0.153, 0.272, 0.229, 
0.318, 0.32, 0.713, 0.256, 0.144, 1.182, 0.091, 0.16, 0.126, 
0.779, 0.125, 0.11, 0.783, 1.69, 0.091, 0.217, 0.042, 0.116, 
0.63, 3.13, 0.409, 0.461, 0.316, 0.214, 0.202, 0.301, 0.45, 0.147, 
0.303, 0.182, 0.096, 0.41, 0.232, 0.975, 0.562, 1.295, 0.149, 
0.188, 0.191, 0.16, 0.428, 0.323, 0.167, 0.045, 0.259, 0.521, 
0.722, 0.176, 0.943, 0.16, 0.224, 0.185, 0.56, 2.171, 0.234, 
0.064, 0.425, 1.055, 1.235, 0.31, 1.467, 0.949, 0.193, 1.204, 
0.665, 0.389, 0.155, 0.281, 1.516, 1.484, 1.465, 0.332, 0.413, 
1.033, 0.215, 0.416, 0.461, 0.211, 1.784, 0.094, 0.655, 1.1, 
0.023, 0.259, 0.446, 0.685, 2.194, 0.268, 0.981, 0.574, 2.909, 
0.664, 0.624, 0.083, 0.235, 0.977, 0.303, 0.035, 0.185, 0.645, 
0.348, 2.162, 0.152, 0.441, 0.915, 0.325, 0.113, 0.049, 0.777, 
1.003, 0.496, 0.992, 0.27, 2.609, 0.284, 0.569, 0.621, 0.319, 
0.807, 1.142, 0.067, 1.405, 0.363, 0.409, 0.125, 0.244, 0.837, 
0.16, 0.172, 0.483, 0.112, 0.198, 1.007, 3.247, 1.162, 0.732, 
0.199, 0.372, 0.592, 1.152, 0.05, 1.388, 0.38, 0.769, 2.133, 
0.128, 0.223, 0.786, 1.081, 0.32, 0.029, 0.215, 0.519, 1.201, 
0.054, 0.218, 0.851, 0.204, 0.1, 0.932, 0.81, 0.862, 0.148, 0.332, 
0.282, 0.241, 0.079, 1.499, 0.249, 0.286, 0.066, 0.238, 1.836, 
1.67, 0.951, 0.332, 0.24, 0.479, 0.129, 0.625, 0.338, 0.043, 
0.176, 1.379, 0.193, 0.195, 0.168, 0.209, 0.438, 0.229, 0.117, 
1.314, 0.591, 0.236, 0.192, 0.795, 0.679, 0.104, 1.428, 0.138, 
0.177, 0.532, 0.101, 1.023, 0.127, 0.01, 0.938, 0.544, 0.203, 
0.795, 0.749, 1.221, 1.284, 1.271, 0.451, 1.496, 0.571, 0.676, 
0.199, 0.937, 0.569, 0.525, 0.355, 0.827, 1.643, 0.327, 0.174, 
0.852, 0.484, 0.189, 0.335, 1.799, 0.037, 0.034, 0.345, 1.629, 
0.332, 0.38, 0.322, 1.171, 1.154, 0.15, 0.109, 1.066, 1.349, 
0.32, 1.523, 0.144, 0.338, 1.425, 0.354, 0.692, 3.024, 0.343, 
0.1, 0.517, 0.5, 0.555, 0.6, 1.801, 0.602, 0.312, 0.316, 0.222, 
0.268, 0.573, 0.279, 0.076, 0.469, 1.039, 1.954, 0.535, 0.429, 
0.18, 0.935, 0.159, 0.775, 0.982, 0.223, 0.232, 1.44, 0.095, 
0.227, 0.271, 0.059, 0.273, 0.153, 0.417, 1.63, 0.723, 0.608, 
0.402, 0.57, 0.893, 0.955, 0.119, 0.039, 0.084, 2.25, 0.793, 
1.658, 0.938, 0.995, 0.395, 0.16, 1.415, 0.058, 0.296, 0.183, 
0.378, 0.661, 1.508, 0.403, 0.602, 0.434, 0.687, 0.162, 0.659, 
0.146, 0.143, 0.109, 0.404, 0.582, 0.928, 0.347, 0.619, 0.249, 
0.112, 0.46, 0.472, 0.109, 0.063, 0.851, 0.457, 0.351, 0.726, 
0.333, 1.92, 1.105, 0.319, 0.128, 1.684, 0.31, 0.219, 1.838, 
0.4, 0.444, 0.182, 0.64, 0.362, 0.723, 1.599, 0.829, 0.816, 1.824, 
0.071, 0.427, 0.184, 0.475, 0.095, 1.393, 2.35, 0.867, 0.311, 
0.614, 0.791, 0.213, 2.453, 0.861, 0.377, 0.993, 0.382, 1.482, 
0.16, 0.683, 0.511, 0.166, 0.482, 0.985, 0.112, 0.142, 0.045, 
0.169, 1.364, 1.004, 0.321, 0.409, 0.332, 2.804, 1.606, 1.185, 
1.746, 0.302, 0.756, 0.574, 0.413, 0.583, 0.078, 0.162, 0.04, 
0.392, 0.899, 0.215, 0.829, 0.637, 1.564, 0.254, 0.029, 0.24, 
2.06, 0.662, 1.131, 0.123, 0.275, 1.657, 0.163, 0.053, 1.029, 
2.151, 0.205, 0.129, 0.813, 0.065, 1.192, 0.229, 0.523, 0.725, 
0.044, 0.198, 0.821, 0.119, 1.148, 0.044, 0.86, 0.419, 0.807, 
0.989, 0.11, 0.144, 0.575, 0.144, 0.216, 0.578, 0.083, 1.453, 
0.147, 1.077, 0.427, 0.093, 0.561, 1.039, 1.376, 0.487, 1.032, 
1.937, 0.245, 0.196, 1.594, 0.335, 0.276, 0.534, 0.046, 0.199, 
0.18, 0.172, 1.923, 0.401, 0.438, 1.104, 0.284, 0.441, 0.346, 
0.436, 0.527, 0.701, 0.326, 0.415, 0.493, 0.603, 0.409, 1.436, 
0.806, 0.376, 0.526, 0.432, 0.902, 1.42, 1.027, 0.389, 0.153, 
0.185, 0.097, 0.369, 0.221, 0.967, 0.423, 1.722, 1.754, 0.483, 
0.32, 0.294, 0.076, 0.292, 0.234, 0.223, 0.718, 0.348, 0.451, 
0.974, 0.527, 1.276, 0.083, 1.471, 0.506, 1.415, 0.316, 0.278, 
0.772, 2.224, 0.327, 0.072, 0.295, 1.096, 0.096, 0.642, 0.418, 
0.596, 0.05, 0.659, 0.212, 0.598, 0.318, 0.076, 1.58, 0.167, 
0.107, 0.359, 1.105, 2.568, 0.669, 0.249, 0.931, 0.069, 0.259, 
0.088, 0.249, 0.8, 1.03, 0.36, 0.67, 0.288, 2.214, 0.984, 0.32, 
2.579, 0.571, 0.359, 0.794, 0.323, 0.697, 1.171, 0.155, 0.638, 
0.182, 0.65, 0.159, 0.269, 1.133, 1.325, 0.573, 0.105, 0.836, 
0.745, 0.233, 1.922, 3.211, 0.035, 0.409, 0.529, 0.32, 0.933, 
0.354, 0.408, 0.384, 0.277, 0.034, 0.553, 0.11, 0.842, 0.132, 
2.115, 0.181, 0.033, 1.488, 0.097, 0.144, 0.304, 0.404, 0.387, 
0.088, 0.212, 0.203, 0.725, 0.381, 0.809, 0.481, 0.081, 0.85, 
0.236, 0.567, 0.275, 0.348, 0.155, 1.072, 0.082, 0.367, 0.988, 
0.411, 0.313, 0.522, 0.16, 0.374, 0.401, 0.214, 1.503, 0.084, 
0.408, 1.121, 1.434, 0.864, 0.488, 0.16, 0.088, 2.656, 0.787, 
0.315, 0.063, 0.472, 0.205, 2.557, 0.122, 0.211, 1.005, 0.36, 
0.277, 0.284, 0.051, 0.664, 1.164, 0.19, 0.45, 0.749, 1.198, 
0.583, 0.221, 0.521, 1.195, 0.348, 0.126, 1.627, 0.639, 0.996, 
0.092, 1.085, 0.618, 0.189, 1.421, 0.188, 1.205, 0.206, 0.976, 
0.226, 0.29, 0.571, 0.148, 0.296, 0.397, 0.383, 0.271, 0.041, 
0.273, 0.204, 0.035, 0.173, 0.959, 0.192, 0.535, 0.661, 0.205, 
0.346, 0.187, 0.32, 0.812, 1.923, 0.322, 0.083, 0.108, 0.17, 
0.759, 0.188, 0.149, 3.194, 0.246, 0.111, 0.48, 1.77, 0.048, 
0.376, 1.195, 0.35, 0.21, 2.309, 0.046, 0.455, 0.307, 0.339, 
1.931, 0.192, 0.136, 0.246, 1.188, 1.317, 0.376, 0.16, 0.146, 
0.17, 0.4, 0.517, 0.072, 0.587, 0.186, 0.456, 1.003, 0.8, 0.353, 
2.166, 1.166, 0.204, 1.152, 0.806, 0.37, 0.682, 1.385, 0.122, 
0.432, 0.771, 0.397, 0.085, 0.154, 0.299, 1.46, 0.099, 0.269, 
0.763, 0.381, 0.617, 0.16, 0.892, 0.275, 0.08, 0.888, 0.014, 
0.185, 0.266, 0.223, 0.545, 1.137, 0.193, 0.2, 2.649, 0.122, 
0.569, 0.413, 0.584, 0.332, 0.843, 0.309, 0.26, 0.109, 0.182, 
2.806, 0.938, 0.384, 0.058, 1.065, 1.198, 1.244, 0.725, 0.17, 
2.35, 0.444, 0.217, 0.239, 1.512, 0.181, 1.411, 1.758, 0.354, 
0.522, 0.669, 0.16, 1.071, 0.143, 1.372, 1.289, 0.19, 1.302, 
0.028, 1.76, 0.151, 0.567, 1.349, 0.15, 0.136, 0.57)}
y <- {c(0.147, 0.109, 0.191, 0.102, 0.271, 0.35, 0.427, 0.058, 0.304, 
0.321, 0.538, 0.231, 0.18, 0.178, 0.286, 0.303, 0.218, 0.263, 
0.107, 0.219, 0.293, 0.161, 0.452, 0.14, 0.12, 0.151, 0.135, 
0.262, 0.431, 0.192, 0.219, 0.339, 0.536, 0.415, 0.222, 0.372, 
0.168, 0.204, 0.13, 0.601, 0.335, 0.38, 0.36, 0.364, 0.157, 0.177, 
0.377, 0.343, 0.155, 0.206, 0.28, 0.393, 0.267, 0.494, 0.098, 
0.518, 0.166, 0.259, 0.595, 0.701, 0.301, 0.287, 0.472, 0.323, 
0.153, 0.259, 0.348, 0.42, 0.304, 0.176, 0.365, 0.296, 0.328, 
0.245, 0.243, 0.12, 0.622, 0.352, 0.198, 0.274, 0.336, 0.298, 
0.521, 0.217, 0.347, 0.225, 0.204, 0.375, 0.113, 0.153, 0.668, 
0.217, 0.362, 0.485, 0.177, 0.179, 0.269, 0.094, 0.246, 0.581, 
0.242, 0.096, 0.18, 0.321, 0.3, 0.173, 0.129, 0.213, 0.121, 0.482, 
0.26, 0.504, 0.139, 0.151, 0.214, 0.49, 0.162, 0.318, 0.192, 
0.474, 0.109, 0.383, 0.244, 0.34, 0.481, 0.141, 0.7, 0.092, 0.486, 
0.248, 0.293, 0.343, 0.205, 0.172, 0.207, 0.149, 0.36, 0.186, 
0.473, 0.351, 0.178, 0.148, 0.096, 0.247, 0.544, 0.14, 0.118, 
0.169, 0.478, 0.411, 0.184, 0.47, 0.537, 0.272, 0.407, 0.254, 
0.186, 0.244, 0.163, 0.507, 0.458, 0.284, 0.302, 0.16, 0.514, 
0.106, 0.139, 0.228, 0.169, 0.42, 0.264, 0.558, 0.427, 0.099, 
0.362, 0.287, 0.249, 0.711, 0.243, 0.389, 0.605, 0.555, 0.38, 
0.278, 0.109, 0.266, 0.498, 0.46, 0.407, 0.181, 0.576, 0.162, 
0.419, 0.19, 0.218, 0.38, 0.179, 0.157, 0.426, 0.463, 0.386, 
0.343, 0.543, 0.339, 0.598, 0.317, 0.456, 0.538, 0.116, 0.333, 
0.598, 0.155, 0.456, 0.452, 0.178, 0.206, 0.212, 0.413, 0.2, 
0.223, 0.682, 0.067, 0.118, 0.157, 0.623, 0.387, 0.302, 0.337, 
0.262, 0.19, 0.405, 0.105, 0.357, 0.288, 0.254, 0.34, 0.108, 
0.286, 0.367, 0.404, 0.192, 0.102, 0.264, 0.404, 0.339, 0.117, 
0.157, 0.325, 0.305, 0.063, 0.191, 0.173, 0.278, 0.119, 0.156, 
0.171, 0.37, 0.09, 0.266, 0.079, 0.139, 0.087, 0.421, 0.427, 
0.577, 0.168, 0.166, 0.203, 0.382, 0.327, 0.302, 0.158, 0.112, 
0.208, 0.364, 0.077, 0.232, 0.131, 0.18, 0.136, 0.204, 0.242, 
0.257, 0.613, 0.154, 0.444, 0.306, 0.542, 0.157, 0.318, 0.101, 
0.139, 0.257, 0.116, 0.218, 0.11, 0.14, 0.354, 0.565, 0.115, 
0.174, 0.455, 0.288, 0.207, 0.231, 0.213, 0.655, 0.639, 0.432, 
0.22, 0.309, 0.4, 0.762, 0.198, 0.445, 0.368, 0.375, 0.431, 0.237, 
0.301, 0.399, 0.159, 0.653, 0.115, 0.275, 0.12, 0.394, 0.513, 
0.266, 0.207, 0.349, 0.635, 0.137, 0.081, 0.291, 0.565, 0.213, 
0.312, 0.405, 0.448, 0.249, 0.39, 0.643, 0.735, 0.16, 0.16, 0.225, 
0.301, 0.225, 0.235, 0.476, 0.333, 0.241, 0.438, 0.17, 0.423, 
0.247, 0.211, 0.123, 0.334, 0.704, 0.265, 0.795, 0.282, 0.195, 
0.355, 0.093, 0.419, 0.257, 0.102, 0.318, 0.193, 0.238, 0.202, 
0.153, 0.138, 0.135, 0.13, 0.24, 0.471, 0.39, 0.533, 0.22, 0.256, 
0.431, 0.974, 0.325, 0.161, 0.634, 0.399, 0.536, 0.555, 0.338, 
0.52, 0.251, 0.133, 0.484, 0.284, 0.124, 0.428, 0.171, 0.407, 
0.412, 0.545, 0.144, 0.332, 0.244, 0.118, 0.297, 0.507, 0.245, 
0.505, 0.204, 0.326, 0.268, 0.86, 0.46, 0.147, 0.102, 0.508, 
0.281, 0.429, 0.124, 0.266, 0.254, 0.244, 0.269, 0.191, 0.555, 
0.709, 0.152, 0.208, 0.195, 0.262, 0.142, 0.253, 0.127, 0.279, 
0.181, 0.577, 0.325, 0.527, 0.421, 0.349, 0.358, 0.459, 0.201, 
0.412, 0.265, 0.479, 0.14, 0.413, 0.442, 0.254, 0.198, 0.38, 
0.289, 0.201, 0.512, 0.351, 0.245, 0.223, 0.313, 0.488, 0.352, 
0.412, 0.488, 0.168, 0.785, 0.482, 0.134, 0.234, 0.179, 0.187, 
0.36, 0.268, 0.233, 0.158, 0.119, 0.419, 0.436, 0.368, 0.427, 
0.568, 0.18, 0.291, 0.517, 0.337, 0.208, 0.131, 0.181, 0.633, 
0.31, 0.275, 0.255, 0.125, 0.414, 0.147, 0.115, 0.212, 0.605, 
0.304, 0.377, 0.465, 0.085, 0.436, 0.154, 0.193, 0.365, 0.61, 
0.34, 0.179, 0.334, 0.141, 0.338, 0.142, 0.215, 0.17, 0.066, 
0.174, 0.23, 0.13, 0.268, 0.232, 0.363, 0.198, 0.363, 0.281, 
0.156, 0.118, 0.476, 0.632, 0.238, 0.401, 0.225, 0.426, 0.181, 
0.074, 0.302, 0.056, 0.574, 0.267, 0.413, 0.253, 0.34, 0.382, 
0.229, 0.156, 0.375, 0.163, 0.217, 0.167, 0.365, 0.205, 0.282, 
0.136, 0.247, 0.192, 0.177, 0.245, 0.321, 0.275, 0.18, 0.263, 
0.336, 0.324, 0.18, 0.387, 0.4, 0.216, 0.19, 0.557, 0.243, 0.303, 
0.156, 0.261, 0.391, 0.537, 0.398, 0.144, 0.114, 0.246, 0.178, 
0.195, 0.137, 0.389, 0.178, 0.488, 0.505, 0.227, 0.145, 0.518, 
0.162, 0.13, 0.109, 0.26, 0.494, 0.603, 0.329, 0.384, 0.212, 
0.418, 0.085, 0.333, 0.094, 0.253, 0.605, 0.906, 0.593, 0.348, 
0.356, 0.239, 0.513, 0.275, 0.213, 0.349, 0.258, 0.195, 0.06, 
0.452, 0.143, 0.458, 0.213, 0.188, 0.329, 0.231, 0.115, 0.142, 
0.273, 0.426, 0.28, 0.102, 0.583, 0.418, 0.247, 0.151, 0.289, 
0.486, 0.437, 0.125, 0.267, 0.26, 0.389, 0.291, 0.352, 0.426, 
0.14, 0.14, 0.445, 0.151, 0.311, 0.564, 0.115, 0.274, 0.188, 
0.251, 0.075, 0.459, 0.155, 0.339, 0.44, 0.306, 0.435, 0.244, 
0.1, 0.605, 0.594, 0.441, 0.229, 0.226, 0.208, 0.22, 0.432, 0.168, 
0.345, 0.078, 0.218, 0.325, 0.338, 0.345, 0.114, 0.336, 0.233, 
0.102, 0.458, 0.109, 0.309, 0.297, 0.308, 0.245, 0.216, 0.166, 
0.53, 0.354, 0.316, 0.312, 0.263, 0.188, 0.302, 0.225, 0.377, 
0.319, 0.353, 0.149, 0.133, 0.121, 0.143, 0.352, 0.463, 0.308, 
0.233, 0.129, 0.296, 0.196, 0.235, 0.44, 0.164, 0.44, 0.22, 0.281, 
0.209, 0.55, 0.206, 0.175, 0.31, 0.155, 0.144, 0.333, 0.306, 
0.246, 0.402, 0.183, 0.181, 0.409, 0.348, 0.22, 0.211, 0.219, 
0.231, 0.297, 0.136, 0.408, 0.241, 0.139, 0.338, 0.824, 0.256, 
0.405, 0.169, 0.159, 0.848, 0.299, 0.374, 0.089, 0.217, 0.27, 
0.265, 0.545, 0.213, 0.18, 0.157, 0.408, 0.106, 0.33, 0.143, 
0.112, 0.164, 0.385, 0.256, 0.36, 0.106, 0.166, 0.188, 0.126, 
0.308, 0.297, 0.196, 0.279, 0.335, 0.324, 0.153, 0.176, 0.301, 
0.458, 0.546, 0.237, 0.183, 0.115, 0.167, 0.239, 0.168, 0.185, 
0.44, 0.123, 0.233, 0.288, 0.469, 0.162, 0.339, 0.251, 0.288, 
0.266, 0.372, 0.179, 0.307, 0.191, 0.084, 0.356, 0.272, 0.183, 
0.201, 0.694, 0.339, 0.303, 0.069, 0.219, 0.162, 0.556, 0.182, 
0.052, 0.171, 0.242, 0.182, 0.658, 0.367, 0.386, 0.491, 0.214, 
0.062, 0.311, 0.46, 0.254, 0.406, 0.479, 0.084, 0.296, 0.472, 
0.302, 0.141, 0.076, 0.236, 0.586, 0.22, 0.387, 0.261, 0.164, 
0.349, 0.16, 0.341, 0.091, 0.165, 0.487, 0.648, 0.103, 0.417, 
0.179, 0.4, 0.607, 0.123, 0.294, 0.326, 0.138, 0.219, 0.203, 
0.191, 0.199, 0.378, 0.261, 0.204, 0.136, 0.219, 0.242, 0.3, 
0.136, 0.192, 0.347, 0.346, 0.447, 0.291, 0.395, 0.479, 0.255, 
0.118, 0.179, 0.311, 0.562, 0.59, 0.467, 0.259, 0.282, 0.462, 
0.176, 0.464, 0.226, 0.364, 0.235, 0.339, 0.392, 0.317, 0.418, 
0.182, 0.254, 0.55, 0.295, 0.325, 0.218)}

my_data <- data.frame(x, y)

ggplot(my_data, aes(x,
                    y)) +

    geom_point(data = my_data, aes(x,
                                   y),
               col = "black",
               alpha = 0.2) +

    stat_density2d(aes(fill=..level..), 
                   bins=4, # e.g. setting it to 2 will give a spot, with 50% inside, and 50% outside
                   geom="polygon") + 

    scale_fill_continuous(low = "yellow",
                          high = "red") +

    scale_alpha(range = c(0.00, 0.5), guide = FALSE) +

    geom_density2d(colour="black", bins=10) +

    theme_classic() + 
    theme(legend.background = element_rect(colour = "black")) +
    theme(legend.position = "none") + # hides color legend
    scale_x_continuous(expand = c(0, 0)) + # forces the graph to (0,0)
    scale_y_continuous(expand = c(0, 0))

0 个答案:

没有答案