小编B.G*_*ees的帖子

ggplot2 - 多个图缩放

我试图用ggplot2生成多个网格图.所以我想生成一个分布图,其中包含x轴下方的附加框图,以及不同组和变量的分布图:

例

代码:我尝试使用以下代码执行此操作:

library(ggplot2)
require(grid)

x=rbind(data.frame(D1=rnorm(1000),Name="titi",ID=c(1:1000)),
    data.frame(D1=rnorm(1000)+1,Name="toto",ID=c(1:1000)))

space=1
suite=1
p1=ggplot(x, aes(x=D1, color=Name, fill=Name)) + 
geom_histogram(aes(y=..density..),alpha=0.35,color=adjustcolor("white",0),position="identity",binwidth = 0.05)+
  geom_density(alpha=.2,size=1)+
  theme_minimal()+
  labs(x=NULL,y="Density")+
  theme(legend.position = "top",
        legend.title = element_blank())+
  scale_fill_manual(values=c("gray30","royalblue1"))+
  scale_color_manual(values=c("gray30","royalblue1"))

p2=ggplot(x, aes(x=factor(Name), y=D1,fill=factor(Name),color=factor(Name)))+
  geom_boxplot(alpha=0.2)+
  theme_minimal()+
  coord_flip()+
  labs(x=NULL,y=NULL)+
  theme(legend.position = "none",
        axis.text.y = element_blank(),
        axis.text.x = element_blank(),
        panel.grid.minor.x = element_blank(),
        panel.grid.major.x = element_blank(),
        panel.grid.minor.y = element_blank(),
        panel.grid.major.y = element_blank())+
  scale_fill_manual(values=c("gray30","royalblue1"))+
  scale_color_manual(values=c("gray30","royalblue1"))

grid.newpage()
pushViewport(viewport(layout=grid.layout(5,1)))
define_region <- function(row, col){
  viewport(layout.pos.row = row, layout.pos.col = col)
}
print(p1, vp=define_region(1:4,1))
print(p2, vp=define_region(5,1))
Run Code Online (Sandbox Code Playgroud)

结果:

在此输入图像描述

问题:在我的搜索过程中,我观察到密度分布图和箱线图之间的比例不一样(问题1).我还没有找到解决方案来绘制网格中的这两个图(我迷路了).

r ggplot2

11
推荐指数
1
解决办法
674
查看次数

在 anaconda 环境中安装本地包

问题:我想在特定的 conda 环境中安装本地包。为此,我阅读了当前的文档(python-packaging)。

封装结构:

$ pwd
~/…/test
.
|- requirements.txt
|- my_package
|   |-- __init__.py
|   |-- base.py
|- setup.py
Run Code Online (Sandbox Code Playgroud)

设置文件

# -*- coding: utf-8 -*-

import os
from setuptools import setup

with open('requirements.txt') as f:
    requirements = f.read().splitlines()

setup(
    name='my_package',
    version='2.0.0',
    author='B.Gees',
    author_email='B.Gees@gmail.com',
    license='MIT',
    packages=['my_package'],
    description='my package description',
    long_description='my package long description',
    keywords='chemistry machine learning cheminformatics',
    classifiers=[
        'Environment :: Console',
        'Intended Audience :: Developers',
        'Intended Audience :: Healthcare Industry',
        'Intended Audience :: Science/Research',
        'License :: OSI …
Run Code Online (Sandbox Code Playgroud)

python anaconda jupyter-notebook

7
推荐指数
1
解决办法
7855
查看次数

在JavaScript和HTML中具有滑动动画的模态框

我创建了一个简单的模式对话框,如下面的代码所示,该对话框将用于在Web表单的某些位置添加帮助。

我想添加一个滑动动画效果,以使对话框在模式打开时滑入屏幕,并在模式关闭时滑回屏幕:

在此处输入图片说明

我找不到想要实现的解决方案。我的模态代码当前如下所示:

function openModal(mod_name){
  var modal = document.getElementById(mod_name);
  modal.style.display = "block";
  window.onclick = function(event) {
    if (event.target == modal) {
      modal.style.display = "none";
    }
  }
}
function closeModal(mod_name){
  var modal = document.getElementById(mod_name);
  modal.style.display = "none";
}
Run Code Online (Sandbox Code Playgroud)
<style>
  body {font-family: Arial, Helvetica, sans-serif; background-color: red; }
  .modal { display: none; position: fixed; z-index: 1; padding-top: 100px; left: 0; top: 0; width: 100%; height: 100%; overflow: auto; background-color: rgba(255,255,255,0.8); }
  .modal-content { margin: auto; padding: 20px; width: 80%; }
  .close { …
Run Code Online (Sandbox Code Playgroud)

html javascript jquery

5
推荐指数
1
解决办法
199
查看次数

将matplotlib图像插入到pandas数据帧中

目的:我正在使用rdkit来根据我的分子颜色进行着色rdkit.Chem.Draw.SimilarityMaps.现在,我想使用matplotlib图像SimilarityMaps函数在pandas数据帧中引入它们,并以html文件的形式导出该表.

代码:我尝试使用以下代码执行此操作

import pandas as pd
from rdkit import Chem
from rdkit.Chem import Draw
from rdkit.Chem.Draw import SimilarityMaps
from rdkit.Chem.Draw import IPythonConsole #Needed to show molecules
from rdkit.Chem.Draw.MolDrawing import MolDrawing, DrawingOptions

df = pd.DataFrame({'smiles':['Nc1nc(NC2CC2)c3ncn([C@@H]4C[C@H](CO)C=C4)c3n1','CCCC(=O)Nc1ccc(OCC(O)CNC(C)C)c(c1)C(C)=O','CCN(CC)CCNC(=O)C1=CC=C(C=C1)NC(=O)C','CC(=O)NC1=CC=C(C=C1)O','CC(=O)Nc1sc(nn1)[S](N)(=O)=O']})

def getSim(smi):
    mol = Chem.MolFromSmiles(smi)
    refmol = Chem.MolFromSmiles('c1ccccc1')
    fp = SimilarityMaps.GetMorganFingerprint(mol, fpType='bv')
    fig, maxweight = SimilarityMaps.GetSimilarityMapForFingerprint(refmol, mol, SimilarityMaps.GetMorganFingerprint)
    return fig

df['map'] = df['smiles'].map(getSim)
df.to_html('/.../test.html')
Run Code Online (Sandbox Code Playgroud)

当我打开文件时test.html,map列包含信息"Figure(200x200)".我检查我的数据帧映射列是否包含对象:它在python中没有问题,但在html文件中没有.

问题:我不确定如何获取带有图像的数据框,我希望得到社区的帮助来澄清这个主题.

提前致谢

python matplotlib pandas rdkit

4
推荐指数
1
解决办法
2772
查看次数

使用AJAX的JQuery加载器工作异步:false

我是jquery星球的新手,我不知道如何解决我的问题.我已经阅读了类似问题的所有答案,但它们都不适合我.我使用的是MAC OS X,因此使用JQuery 2.1.1进行Safari,但最终我的平台将在线共享,并且必须与其他浏览器兼容.

目的:我想显示一个包含我的加载动画的页面.但是我的JQuery函数包含一个ajax可执行文件,其async:false模式能够返回执行脚本的响应.所以我不能使用beforeSendcomplete选项.我尝试使用我在这篇文章中找到的解决方案.不幸的是我的动画没有显示

HTML:

<form id="myRun" method="post" action="" enctype="multipart/form-data">
    ... SOME ACTIONs ...
    <input class="demo" type="button" id="runner" value="Submit">
</form>
<div class="preloader" id="run_loader"><?php include('map/run_loader.php');?></div>
Run Code Online (Sandbox Code Playgroud)

JS:

// Run platform
$('#runner').click(function() {
  $('#run_loader').show();
  setTimeout(function() {
      var results = function(){
        $.ajax({
          url : "php/runner.php",
          type: "post",
          global: false,
          async:false,
          data : $("#myRun").serializeArray(),
          success: function (response) {
            //alert(response);
            //window.location.href = response; *** DOESN'T WORK HERE ***
            $('#run_loader').hide();
            res = response;
          }
        });
        return …
Run Code Online (Sandbox Code Playgroud)

html php ajax jquery

4
推荐指数
1
解决办法
624
查看次数

R - 改变功能环境

我是R的新用户,我想知道是否可以这样做:

a = 2                     <environment: R_GlobalEnv>

f <- function(){
  x = 1
  y = 1
  g()
}                         <environment: 0xf1b79b8>

g <- function(){
  z = x + y + a
}                         <environment: 0xf1b7a98>
Run Code Online (Sandbox Code Playgroud)
Error in g() : object 'x' not found
Run Code Online (Sandbox Code Playgroud)

问题:是否可以创建g()对Global和f()环境的个性化访问?

r

1
推荐指数
1
解决办法
933
查看次数

scikit-learn中具有class_weight的SVC

我想用来class_weight在sikit-learn中创建加权SVC分类器。不过,我不确定我是否正确配置了模型。请考虑以下示例:

x = np.array([[0,0,1],[0,1,1],[1,0,0]])
y = np.array([1,1,0])

cw = {}
for l in set(y):
    cw[l] = np.sum(y == l)
print(cw)

m = SVC(probability = True, max_iter = 1000, class_weight = cw)
m = m.fit(x,y)
Run Code Online (Sandbox Code Playgroud)

我获得了模型:

SVC(C=1.0, cache_size=200, class_weight={0: 1, 1: 2}, coef0=0.0,
  decision_function_shape='ovr', degree=3, gamma='auto', kernel='rbf',
  max_iter=1000, probability=True, random_state=None, shrinking=True,
  tol=0.001, verbose=False)
Run Code Online (Sandbox Code Playgroud)

class_weight={0: 1, 1: 2}每个类中对应的数据点数相对应。

问题:以这种方式进行是否正确?

python scikit-learn

1
推荐指数
1
解决办法
1136
查看次数