1. ホーム
  2. スクリプト・コラム
  3. その他

[解決済み】「Error: デフォルトのデータセット例mtcarsとggplot2における「離散的なスケールに連続的な値が供給された」。

2022-01-10 15:30:26

質問

で例を書いています。 サンプルはこちら(sthda.com) :

# Change point shapes and colors manually
ggplot(mtcars, aes(x=wt, y=mpg, color=cyl, shape=cyl)) +
  geom_point() + 
  geom_smooth(method=lm, se=FALSE, fullrange=TRUE)+
  scale_shape_manual(values=c(3, 16, 17))+ 
  scale_color_manual(values=c('#999999','#E69F00', '#56B4E9'))+
  theme(legend.position="top")

期待される結果は次のようになるはずです。

しかし、Rで実行すると、次のようなエラーが発生します。

Error: Continuous value supplied to discrete scale

解決方法は?

うん、色と形の美学を因数分解することで解決できたよ。

ggplot(mtcars, aes(x=wt, y=mpg, color=as.factor(cyl), shape=as.factor(cyl))) +
  geom_point() + 
  geom_smooth(method=lm, se=FALSE, fullrange=TRUE)+
  scale_shape_manual(values=c(3, 16, 17))+ 
  scale_color_manual(values=c('#999999','#E69F00', '#56B4E9'))+
  theme(legend.position="top")