python 情节9: color brewer not enough

标签 python ggplot2 visualization data-manipulation plotnine

我使用 python 版本的 ggplot 和以下代码并附加了图像,但颜色不足以为所有类别着色。我想知道如何获得具有更多颜色的调色板,但仍然保留数字较低的颜色较浅,而数字较高的颜色较深的关系。

pretty = p9.ggplot(data=s2_test3, mapping = p9.aes(x='index', y='value', colour = "equity_as_number"))+ p9.geom_point(alpha = 0.02)
pretty = pretty + p9.facet_grid("gender~outcome")
pretty + p9.geom_smooth(method = 'loess') + p9.scale_color_brewer(type ='seq')

enter image description here

最佳答案

使用plotnine,您可以手动指定比例,以便您可以创建任何您想要的内容。我个人通常会先查看 matplotlib 的渐变(使用 cmap),然后再尝试手动创建自己的渐变(使用 gradient*)。

以下是一些音阶示例,您可以根据自己的喜好进行调整。

df = pd.DataFrame({"x": range(100), "y": [0]*100, color="x"})

plt = p9.ggplot(p9.aes(x="x", y="y", fill="x"), df) + p9.geom_tile() + p9.themes.theme_void()

scale_fill_gradient* 函数类允许您指定自己的任意渐变。如果您真的很挑剔,您可以花时间使用这些函数并获得您想要的任何颜色渐变。

plt1 = plt + p9.scale_fill_gradient(low="#FFFFFF", high="#000044",guide=False)

enter image description here

scale_fill_cmap 类允许您指定 matplotlib 的颜色渐变,可以在此处找到:https://matplotlib.org/3.1.0/tutorials/colors/colormaps.html

plt2 = plt + p9.scale_fill_cmap(name="gist_ncar",guide=false)

enter image description here

您可以使用 scale_fill_desaturate 创建缓慢去饱和的比例

plt3 = plt + p9.scale_fill_desaturate(color="blue",guide=False)

enter image description here

关于 python 情节9: color brewer not enough,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60085500/

相关文章:

python - 我什么时候应该考虑使用线程

python - tsplot 不绘图(再次)

r - 将连续刻度从小数更改为百分比

r - 在具有较少级别的因子变量之后对 x 轴进行排序

visualization - 创建音乐可视化工具

python - 获取与 Voronoi 区域关联的点 (scipy.spatial.Voronoi)

python - 将动画 Matplotlib 图形保存为 GIF 文件会产生不同外观的绘图

python - Aign 二维散点图(并链接它们?)

javascript - <audio> 到波形或频谱图图像,无需在 Chrome 中播放

d3.js - 尝试映射 geojson 数据时在 svg 路径 'd' attr 中获取 NaN 值