7

私はRとggplot2に少し慣れていないので、この質問はやや低レベルです。しかし、私はかなりの量の実験を行いましたが、オンラインで答えが見つからなかったので、ここで質問しようと思いました.

グラフにアルファを追加すると、グラフは次のようになります。

一部のアルファ

ただし、アルファの値をどのように変更しても、グラフに変化はありません。alpha=.9 と alpha=1/10000 を試してみましたが、グラフに違いはありませんでした。

それでも、「アルファ」用語は何かをしているようです。コードから「アルファ」を削除すると、次のグラフが得られます。

アルファなし

これが私のコードです。ありがとう!

library(ggplot2)
library(chron)
argv <- commandArgs(trailingOnly = TRUE)
mydata = read.csv(argv[1])
png(argv[2], height=300, width=470)


timeHMS_formatter <- function(x) {                  # Takes time in seconds from midnight, converts to HH:MM:SS
h <- floor(x/3600)
m <- floor(x %% 60)
s <- round(60*(x %% 1))                         # Round to nearest second
lab <- sprintf('%02d:%02d', h, m, s)        # Format the strings as HH:MM:SS
lab <- gsub('^00:', '', lab)                    # Remove leading 00: if present
lab <- gsub('^0', '', lab)                      # Remove leading 0 if present
}

dateEPOCH_formatter <- function (y){
epoch <- c(month=1,day=1,year=1970)
    chron(floor(y),out.format="mon-year",origin.=epoch)
}

p=  ggplot() + 
coord_cartesian(xlim=c(min(mydata$day),max(mydata$day)), ylim=c(0,86400)) +         # displays data from first email through present
scale_color_hue() +
xlab("Date") +
ylab("Time of Day") +
scale_y_continuous(label=timeHMS_formatter, breaks=seq(0, 86400, 7200)) +           # adds tick marks every 2 hours
scale_x_continuous(label=dateEPOCH_formatter, breaks=seq(min(mydata$day), max(mydata$day), 365) ) +
ggtitle("Email Sending Times") +                                                        # adds graph title
theme( legend.position = "none", axis.title.x = element_text(vjust=-0.3)) +
layer(
    data=mydata, 
    mapping=aes(x=mydata$day, y=mydata$seconds, alpha=1/2, size=5), 
    stat="identity", 
    stat_params=list(), 
    geom="point", 
    geom_params=list(),
    position=position_identity(),
)       

print(p)
dev.off()
4

1 に答える 1

4

alpha次のように、仕様をステートメントのに置く必要があります。mapping

layer(
    data=mydata, 
    mapping=aes(x=day, y=seconds), 
    stat="identity", 
    stat_params=list(), 
    geom="point", 
    geom_params=list(alpha=1/2, size=5),
    position=position_identity(),
)       

私はこれをもう少しコンパクトに表現することに慣れています。

geom_point(data=mydata,
           mapping=aes(x=day, y=seconds),
           alpha=1/2,size=5)

除外された残りのものはデフォルト値を表していると思います...

参照: ggplot の凡例に「色」パラメーターが表示されるのはなぜですか?

于 2012-11-08T03:04:44.583 に答える