我想给出一个变量列表,以定义ggplot的美学效果中的组/颜色。
在R中,我会做类似的事情:
library(ggplot2)
library(dplyr)
dfList = list()
for (i in 0:2){
for (j in 0:2){
for(k in 10*(0:2)){
arrX = 0:19
arrY = i * arrX * arrX + j * arrX + k
random_df = data.frame('X'=arrX, 'Y'=arrY)
random_df$A = i
random_df$B = j
random_df$C = k
dfList[[paste0(i, j, k)]] = random_df
}
}
}
outDF = bind_rows(dfList)
print(outDF %>% ggplot(aes(x = X, y = Y, color = paste(B, C), group = paste(A, B, C))) + geom_line() + facet_wrap(~A))
然后进入以下页面:
R结果
在python中看起来像这样,因为我不能使用很多分组变量:
from ggplot import *
import numpy as np
dfList = {}
for i in range(3):
for j in range(3):
for k in list(np.multiply(10,range(3))):
arrX = range(20)
arrY = i*np.multiply(arrX,arrX)+np.multiply(j,arrX)+k
random_df = pd.DataFrame({'X':arrX, 'Y':list(arrY)})
random_df['A'] = i
random_df['B'] = j
random_df['C'] = k
dfList[str(i)+str(j)+str(k)] = random_df
outDF = pd.concat(dfList)
print ggplot(aes(x='X', y='Y', color='B', group='C'), data=outDF)+geom_line()+facet_wrap('A')
我最终得到这样的东西:
Python结果
相当于color = paste(B, C), group = paste(A, B, C)
的python是什么?