民间,
我正在尝试在python中使用ggplot。
from ggplot import *
ggplot(diamonds, aes(x='price', fill='cut')) + geom_density(alpha=0.25) + facet_wrap("clarity")
我正在努力做的事情:
1)我希望颜色既可以填充也可以填充颜色,但是你可以看到颜色都是灰色的
2)我正在尝试调整情节的大小。在R中我会在情节之前运行:
options(repr.plot.width=12, repr.plot.height=4)
然而,这在这里不起作用。
是否有人知道我如何在分布中着色并更改绘图大小?
谢谢。附加了当前输出。
答案 0 :(得分:4)
为 Python 使用最新的 ggplot2:plotnine。
为了重塑情节大小,请使用此主题参数:figure_size(width, height)。宽度和高度以英寸为单位。
看下面的例子:
from plotnine import *
(ggplot(df)
+ aes(x='column_X', y='column_Y', color = 'column_for_collor')
+ geom_line()
+ theme(axis_text_x = element_text(angle = 45, hjust = 1))
+ facet_wrap('~column_to_facet', ncol = 3) # ncol to define 3 facets per line
+ theme(figure_size=(16, 8)) # here you define the plot size
)
答案 1 :(得分:1)
<强>颜色强>
使用color
代替填充。
e.g;
from ggplot import *
ggplot(diamonds, aes(x='price', color='cut')) + geom_density(alpha=0.25) + facet_wrap("clarity")
<强>尺寸强>
有两种方法可以做到这一点。
最简单的是ggsave
- 查看文档。
或者,将theme
与plot_margin
参数一起使用:
ggplot(...) ... + theme(plot_margin = dict(right = 12, top=8))
或者,使用matplotlib设置:
import matplotlib as mpl
mpl.rcParams["figure.figsize"] = "11, 8"
ggplot(...) + ...
希望有所帮助!
答案 2 :(得分:0)
另一种解决方案,如果您不想更改matplotlib的配置:
from ggplot import *
from matplotlib import pyplot as plt
p = (ggplot(diamonds,
aes(x='x', y='y', color='cut', fill='cut')) +
geom_point() +
facet_wrap(x='cut'))
# This command "renders" the figure and creates the attribute `fig` on the p object
p.make()
# Then you can alter its properties
p.fig.set_size_inches(15, 5, forward=True)
p.fig.set_dpi(100)
p.fig
# And display the final figure
plt.show()