如何在R中绘制等高线,并用丝带覆盖以显示海底

问题描述 投票:0回答:1

我具有一系列采样站(因子)在不同海深处的温度数据。

<table><tbody><tr><th>Station_No</th><th>Temperature</th><th>Depth_Sample</th><th>Max_Depth</th></tr><tr><td>BN030</td><td>14.22</td><td>1</td><td>2.8</td></tr><tr><td>BN030</td><td>14.24</td><td>2.8</td><td>2.8</td></tr><tr><td>BN030</td><td>14.22</td><td>0.4</td><td>2.8</td></tr><tr><td>BN030</td><td>14.23</td><td>1.9</td><td>2.8</td></tr><tr><td>BN040</td><td>14.28</td><td>0.9</td><td>1.5</td></tr><tr><td>BN040</td><td>14.29</td><td>1.5</td><td>1.5</td></tr><tr><td>BN040</td><td>14.29</td><td>0.3</td><td>1.5</td></tr><tr><td>BN050</td><td>14.8</td><td>0.9</td><td>3.1</td></tr><tr><td>BN050</td><td>15.02</td><td>1.2</td><td>3.1</td></tr><tr><td>BN050</td><td>15.04</td><td>1.1</td><td>3.1</td></tr><tr><td>BN050</td><td>14.92</td><td>2</td><td>3.1</td></tr><tr><td>BN050</td><td>14.9</td><td>3.1</td><td>3.1</td></tr><tr><td>BN050</td><td>15.55</td><td>0.2</td><td>3.1</td></tr><tr><td>BN050</td><td>14.79</td><td>0.3</td><td>3.1</td></tr><tr><td>BN050</td><td>14.9</td><td>1.5</td><td>3.1</td></tr><tr><td>BN060</td><td>15.1</td><td>0.5</td><td>1.9</td></tr><tr><td>BN060</td><td>14.96</td><td>1.1</td><td>1.9</td></tr><tr><td>BN060</td><td>14.94</td><td>1.9</td><td>1.9</td></tr><tr><td>BN070</td><td>14.85</td><td>1</td><td>6.5</td></tr><tr><td>BN070</td><td>15.13</td><td>0.3</td><td>6.5</td></tr><tr><td>BN070</td><td>14.89</td><td>2.2</td><td>6.5</td></tr><tr><td>BN070</td><td>13.96</td><td>5.3</td><td>6.5</td></tr><tr><td>BN070</td><td>14.3</td><td>4.1</td><td>6.5</td></tr><tr><td>BN070</td><td>14.79</td><td>3</td><td>6.5</td></tr><tr><td>BN070</td><td>13.59</td><td>6.5</td><td>6.5</td></tr><tr><td>BN070</td><td>13.78</td><td>2.8</td><td>6.5</td></tr><tr><td>BN070</td><td>13.96</td><td>5.4</td><td>6.5</td></tr><tr><td>BN070</td><td>13.59</td><td>6.4</td><td>6.5</td></tr><tr><td>BN070</td><td>15.23</td><td>0.4</td><td>6.5</td></tr><tr><td>BN070</td><td>13.68</td><td>4</td><td>6.5</td></tr><tr><td>BN070</td><td>14.11</td><td>1.8</td><td>6.5</td></tr><tr><td>BN070</td><td>14.12</td><td>1.9</td><td>6.5</td></tr><tr><td>BN070</td><td>13.64</td><td>5.2</td><td>6.5</td></tr><tr><td>BN080</td><td>15.15</td><td>0.3</td><td>4.4</td></tr><tr><td>BN080</td><td>14.31</td><td>3.3</td><td>4.4</td></tr><tr><td>BN080</td><td>14.21</td><td>4.4</td><td>4.4</td></tr><tr><td>BN080</td><td>14.38</td><td>2.1</td><td>4.4</td></tr><tr><td>BN080</td><td>14.64</td><td>1.2</td><td>4.4</td></tr><tr><td>BN090</td><td>13.03</td><td>7.2</td><td>11.6</td></tr><tr><td>BN090</td><td>13.89</td><td>2.2</td><td>11.6</td></tr><tr><td>BN090</td><td>13.14</td><td>9.2</td><td>11.6</td></tr><tr><td>BN090</td><td>13.5</td><td>3</td><td>11.6</td></tr><tr><td>BN090</td><td>13.3</td><td>7.1</td><td>11.6</td></tr><tr><td>BN090</td><td>14.74</td><td>0.4</td><td>11.6</td></tr><tr><td>BN090</td><td>12.98</td><td>11.6</td><td>11.6</td></tr><tr><td>BN090</td><td>13.04</td><td>6.2</td><td>11.6</td></tr><tr><td>BN090</td><td>13.85</td><td>2.1</td><td>11.6</td></tr><tr><td>BN090</td><td>13.15</td><td>8.2</td><td>11.6</td></tr><tr><td>BN090</td><td>12.99</td><td>10.1</td><td>11.6</td></tr><tr><td>BN090</td><td>14.47</td><td>1.2</td><td>11.6</td></tr><tr><td>BN090</td><td>13.35</td><td>5.9</td><td>11.6</td></tr><tr><td>BN090</td><td>13</td><td>8.7</td><td>11.6</td></tr><tr><td>BN090</td><td>13.17</td><td>4.7</td><td>11.6</td></tr><tr><td>BN090</td><td>13.35</td><td>4.8</td><td>11.6</td></tr><tr><td>BN090</td><td>13.21</td><td>3.6</td><td>11.6</td></tr><tr><td>BN090</td><td>13.37</td><td>3.9</td><td>11.6</td></tr><tr><td>BN100</td><td>12.92</td><td>13.3</td><td>13.3</td></tr><tr><td>BN100</td><td>13.94</td><td>3.2</td><td>13.3</td></tr><tr><td>BN100</td><td>12.92</td><td>13.2</td><td>13.3</td></tr><tr><td>BN100</td><td>12.92</td><td>9</td><td>13.3</td></tr><tr><td>BN100</td><td>12.91</td><td>11.3</td><td>13.3</td></tr><tr><td>BN100</td><td>13.53</td><td>7.5</td><td>13.3</td></tr><tr><td>BN100</td><td>14.35</td><td>0.3</td><td>13.3</td></tr><tr><td>BN100</td><td>13.56</td><td>5</td><td>13.3</td></tr><tr><td>BN100</td><td>14.27</td><td>1.2</td><td>13.3</td></tr><tr><td>BN110</td><td>13.98</td><td>0.3</td><td>6.9</td></tr><tr><td>BN110</td><td>13.43</td><td>2.1</td><td>6.9</td></tr><tr><td>BN110</td><td>13.96</td><td>0.9</td><td>6.9</td></tr><tr><td>BN110</td><td>13.97</td><td>1</td><td>6.9</td></tr><tr><td>BN110</td><td>13.44</td><td>2</td><td>6.9</td></tr><tr><td>BN110</td><td>12.58</td><td>6.9</td><td>6.9</td></tr><tr><td>BN110</td><td>12.59</td><td>5.3</td><td>6.9</td></tr><tr><td>BN110</td><td>12.62</td><td>3.5</td><td>6.9</td></tr></tbody></table>

我想制作一个轮廓等高线图,以显示这些温度,但也要涂黑每个站的最大深度以下的东西。我可以通过ggplot了解我想要的东西:

cols <- colorRampPalette(rev(brewer.pal(11, "Spectral")))
sc <- scale_colour_gradientn(colours = cols(100), limits=c(12, 16))

a <- ggplot(sampleData1, aes(x = factor(Station_No), y = Depth_Sample, colour = Temperature, group = 1)) +
  geom_point(size=4) + #or can use geom_tile here
  scale_y_reverse() +
  sc +
  geom_line(aes(factor(Station_No), Depth_Max, group=1))+
  theme_minimal() +  
  geom_ribbon(aes(ymin=15, ymax=Depth_Max), fill= "grey", col = "grey")
a

enter image description here

但是,我想添加等高线(而不是点),使其更像我使用plotly的方式:

p <- plot_ly(data = sampleData1,
         x=~factor(Station_No),
         y=~-Depth_Sample, 
         z=~Temperature, 
         type = "contour", 
         colorscale='Jet')

p

enter image description here

如何将两者结合或在ggplot或plotly中获得相似的图?

r ggplot2 plotly contour
1个回答
0
投票

我终于设法使用plotly解决了这个问题,购买了添加虚拟轨迹并使用“ fill ='tonexty'”。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.