[问题] ggplot画不出同类型的data

楼主: YangPeiHung (杨培宏)   2020-07-26 08:46:14
请把以下不需要的部份删除
程式咨询(我想用R 做某件事情,但是我不知道要怎么用R 写出来)
[软件熟悉度]:
使用者(已经有用R 做过不少作品)
[问题叙述]:
请简略描述你所要做的事情,或是这个程式的目的
其实我已经有可以跑出countour plot的ggplot code,
但不知道为什么相同种类与范围的资料,有的图画得出有的图画不出来,
有的图画得出来但是颜色却超淡
加上ggplot2没有report任何的error/warning,
因此不确定这个问题会出在哪边,
只好先附上code,以及用google云端附上资料作为测试,谢谢!
https://drive.google.com/drive/folders/1WszQ3e2geE5R9GuCM6fD9fllkuN2u-XY
测试资料夹中,df_1_success是能成功画出图的第一种资料
failed_1-3则是画不出来的三个资料范例
df_2_success是成功画出图的第二种资料(z的范围不同)
failed_1则是画不出来的范例
(实际上画得出来的图也不是每次都一致,会在contour的颜色分界每次都有微小的不同
有时候不会有明显的分界线有时候却有,但两张图也是99%像,如:
https://i.imgur.com/AbIvxR9.png
https://i.imgur.com/tlQBIaX.png

先感谢大家帮忙!
[程式范例]:
library(ggplot2)
library(wesanderson)
ggplot(df, aes(x=x, y=y,
z=z)) +
stat_contour(geom="polygon",
breaks=seq(min(z), max(z), length.out = 4001),
size=1.5,
aes(fill=..level..)) +
scale_fill_gradientn(colours =
wes_palette("Zissou1", 200, type = "continuous")) +
xlim(min(x), max(x)) +
ylim(min(y), max(y))
[环境叙述]: R 4.0.2 / x86_64-apple-darwin17.0 (64-bit)
[关键字]: ggplot2
作者: andrew43 (讨厌有好心推文后删文者)   2020-07-26 23:04:00
try geom = "contour"
楼主: YangPeiHung (杨培宏)   2020-07-27 00:04:00
抱歉没办法,这让颜色完全消失渐层只剩单色Qq
作者: cywhale (cywhale)   2020-07-29 09:34:00
请问是否有产生x,y,z方式的code? expand.grid?
楼主: YangPeiHung (杨培宏)   2020-07-30 19:29:00
x,y是expand.grid,z是model fitted value,但是因为涉及资料问题我用类似的手法改成了这个状况但至少目前确定是stat_contour的问题
作者: andrew43 (讨厌有好心推文后删文者)   2020-07-30 22:18:00
我没发现异常之处。是否要针对特定资料和code讨论?
楼主: YangPeiHung (杨培宏)   2020-08-01 00:25:00
我把stat_contour改成geom_raster(interpolate=T)并且在ggplot aes补上fill后就成功了,虽然变成用heatmap的方式而非contour,但画出来的图是一样的,甚至缺口的部分都有补齐,虽然是解决了但仍未找到stat_contour出问题的原因

Links booklink

Contact Us: admin [ a t ] ucptt.com