小编xpt*_*xpt的帖子

Pandas Plot,如何控制条宽和间隙

希望这是一个简单的问题 - 如何在用熊猫绘图时控制条宽和间隙?

完整代码在此处,转贴如下:

df = pd.DataFrame({
        'person':[x*3 for x in list('ABCDEF')],
        'score1':np.random.randn(6),
        'score2':np.random.randn(6),
        'score3':np.random.randn(6),
        'score4':np.random.randn(6),
        'score5':np.random.randn(6)
                   })
print(df)
ax = df.set_index(['person']).plot(kind='barh')
ax.invert_yaxis()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

结果条宽度太薄,间隙太宽,我该如何修复?谢谢.

python plot bar-chart pandas

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

Matplotlib 表格图,如何在图形和表格之间添加间隙

在 Matplotlib 中绘制表格时如何在图形和表格之间添加间隙?

这是我的代码

import pandas as pd
import matplotlib.pyplot as plt

dc = pd.DataFrame({'A' : [1, 2, 3, 4],'B' : [4, 3, 2, 1],'C' : [3, 4, 2, 2]})

plt.plot(dc)
plt.legend(dc.columns)
dcsummary = pd.DataFrame([dc.mean(), dc.sum()],index=['Mean','Total'])

plt.table(cellText=dcsummary.values,colWidths = [0.25]*len(dc.columns),
        rowLabels=dcsummary.index,
        colLabels=dcsummary.columns,
        cellLoc = 'center', rowLoc = 'center',
        loc='bottom')
# loc='top'
fig = plt.gcf()

plt.show()
Run Code Online (Sandbox Code Playgroud)

结果如下所示:

表格

即表头以x-labels的方式出现。
如何在图表和表格之间添加间隙?谢谢

python plot matplotlib

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

在Python3中将图像复制到剪贴板

首先,在python中将 SO 复制图像复制到剪贴板的问题导致回答使用PIL和win32clipboard在python中将图像写入Windows剪贴板?,这对Python 2.x只有好处. - 我试了一下它没用.我克服了一个问题:StringIO和cStringIO模块在Python 3.0中消失了:但是碰到了另一个:

TypeError: string argument expected, got 'bytes'
Run Code Online (Sandbox Code Playgroud)

因此,再次为Python 3重新提出同样的问题 - 如何在Python 3中将图像复制到剪贴板?这是我到目前为止的代码:

from io import StringIO
import win32clipboard
from PIL import Image

def send_to_clipboard(clip_type, data):
    win32clipboard.OpenClipboard()
    win32clipboard.EmptyClipboard()
    win32clipboard.SetClipboardData(clip_type, data)
    win32clipboard.CloseClipboard()

filepath = 'image.jpg'
image = Image.open(filepath)

output = StringIO()
image.convert("RGB").save(output, "BMP")
data = output.getvalue()[14:]
output.close()

send_to_clipboard(win32clipboard.CF_DIB, data)
Run Code Online (Sandbox Code Playgroud)

谢谢

python windows clipboard python-3.x

6
推荐指数
3
解决办法
2244
查看次数

ES6类,传递函数作为参数来注册expressjs路由

该类用于扩展expressjs应用程序中的所有控制器:

import response from '../utils/responseParser.js';

const APISLUG = '/api/v1/';

export default class BaseController {

  constructor(name, app, model){
    this.model = model;
    this.app = app;
    this.name = name;
    console.log(model);
    this.register();
  }

  register() {
    this.app.get(APISLUG + this.name, this.all);
  }
  /*
  Retrive all records
  */
  all(req, res, next) {
    this.model.all(req.body, (err, data) => {
      if(err) return res.json(response.replyError(data));
      return res.json(response.reply(data));
    });
  }
}
Run Code Online (Sandbox Code Playgroud)

如您所见,我已经制作了一个"注册"方法来自动设置所有基本路线.

unable to read property " model " of undefined "在这一行收到错误:

this.app.get(APISLUG + this.name, this.all);
Run Code Online (Sandbox Code Playgroud)

我相信这是因为当我将函数作为参数传递时范围会丢失.我怎么解决这个问题?

javascript ecmascript-6

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

Docker 无法在代理 TLS 握手超时后提取图像

我在 CentOS 7 上安装了最新的 Docker 版本 18.06.0。我的服务器位于公司网络中,因此使用代理服务器访问注册表。我已根据 docker 文档添加了代理设置。但最终在部分工作中添加代理设置。即现在 docker 在运行之前使用代理来拉取图像。

但现在它无法给出以下错误:

$ sudo docker run hello-world
Unable to find image ‘hello-world:latest’ locally
docker: Error response from daemon: Get https://registry-1.docker.io/v2/: proxyconnect tcp: net/http: TLS handshake timeout.
Run Code Online (Sandbox Code Playgroud)

此外,登录失败:

$ sudo docker login --username=XXXX
Password:
Error response from daemon: Get https://registry-1.docker.io/v2/: proxyconnect tcp: EOF
Run Code Online (Sandbox Code Playgroud)

我的代理速度很快。当我使用 wget 或 curl 从互联网下载任何东西时,我看到 90 到 100Mbps 的速度。我机器上的其他应用程序实用程序(例如 yum)正在完美地使用此代理,并且运行良好。现在不知道为什么只有Docker下载镜像有问题。

安装和配置的详细信息如下:

版本:

$ sudo docker version
Client:
Version: 18.06.0-ce
API version: 1.38
Go version: go1.10.3
Git commit: 0ffa825 …
Run Code Online (Sandbox Code Playgroud)

ssl proxy docker docker-registry docker-pull

6
推荐指数
2
解决办法
2万
查看次数

GitHub Action 相互构建环境变量

GitHub Action中,如何依次构建环境变量:

name: workflow-level-custom-environment-variables

on: [push]
# Here the environment variable is declared in workflow level
env:
    PART1: var1
    PART2: ${PART1}var2
    PUBLICENV: ${PART2} Available for all jobs in this workflow
Run Code Online (Sandbox Code Playgroud)

这可能非常有用,例如,这是来自以下的真实示例Dockerfile

ARG JMETER_VERSION="5.4.2"
ENV JMETER_HOME /opt/apache-jmeter-${JMETER_VERSION}
Run Code Online (Sandbox Code Playgroud)

我知道Dockerfile这不是 GitHub Action,但我只是展示它有用时的原理。

environment-variables github-actions

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

序列化为JSON时的小数精度为零

考虑以下JSON对象:

{
    "value": 0   
}
Run Code Online (Sandbox Code Playgroud)

现在假设我将其映射到.NET类型Foo

class Foo
{
    public double Value { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

的类型Foo.Valuedouble,因为Value它并不总是整数值。

使用JSON.NET,效果很好:

Foo deserialized = JsonConvert.DeserializeObject<Foo>(json);
Run Code Online (Sandbox Code Playgroud)

但是,观察当我尝试将对象转换回其JSON表示形式时会发生什么:

string serialized = JsonConvert.SerializeObject(deserialized, Formatting.Indented);
Run Code Online (Sandbox Code Playgroud)

输出:

{
  "Value": 0.0
}
Run Code Online (Sandbox Code Playgroud)

注意尾随零吗?我如何摆脱它?

编辑

我怀疑答案将是编写您自己的转换器。如果是这样,那很好,我想我会接受作为答案。我只是想知道是否存在一个我不知道的属性,可以让您指定输出格式(或类似格式)。

c# json json.net

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

golang 标志在第一个非选项后停止解析

我正在构建一个小 cli 工具,可以在开发或生产中启动我的应用程序。

我希望它的工作方式是这样的:

app run --dev or app run --prod
Run Code Online (Sandbox Code Playgroud)

Atm 它不会在我的命令之后解析标志,但只在我的命令之前解析。所以这有效

app --dev run or app --prod run
Run Code Online (Sandbox Code Playgroud)

任何想法如何修复它以便我可以在我的命令后使用它?这是我的代码

func main() {
    //flag.Usage := usage
    flag.Parse()
    args := flag.Args()
    if len(args) == 0 {
        Usage()
        os.Exit(0)
    }

    if *dev {
        os.Setenv("ENV", "development")
    }

    if *prod {
        os.Setenv("ENV", "production")
    }

    switch {
    // Run
    case args[0] == "run" && len(args) == 1:
        os.Setenv("port", *port)
        log.Printf("Booting in %s", os.Getenv("ENV"))
        Run()

    // Help
    case args[0] == "help" && len(args) == 1: …
Run Code Online (Sandbox Code Playgroud)

flags command-line-interface go

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

开始使用material-ui

对我来说,保守的秘密就是材料 - ui,一个使用Google的Material Design UI和React 的Web框架.我认为这是一个梦幻般的组合和未来.但是,如何使用它也是一个妥善保密的秘密.http://material-ui.com/#/get-started上的入门指南不适用于普通的Joe,但只适用于可能了解它的一小部分人.而且,这里的问题,如何使用material-ui框架?,材料ui安装配置,从未得到解答.

我设法安装了材料ui,

  $ npm install material-ui
  react-tap-event-plugin@0.1.6 node_modules/react-tap-event-plugin

  react@0.13.2 node_modules/react
   envify@3.4.0 (through@2.3.7, jstransform@10.1.0)

  material-ui@0.7.4 node_modules/material-ui
   classnames@1.2.1
   react-draggable2@0.5.1

  $ ls -d1 node_modules/*
  node_modules/material-ui
  node_modules/react
  node_modules/react-tap-event-plugin
Run Code Online (Sandbox Code Playgroud)

但下一步是什么?

  • 我应该把它们移到我的下面/var/www/吗?或者启动nodejs,还是......?
  • 我怎样才能看到一个简单的演示,显示一切正常?

总而言之,作为只知道http服务器和静态html页面的人,我最简单的方法是在我自己的环境中使用现有的Web服务器吗?

谢谢

$ lsb_release -a 
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.10
Release:        14.10
Codename:       utopic

$ uname -srmv
Linux 3.16.0-34-generic #47-Ubuntu SMP Fri Apr 10 18:02:58 UTC 2015 x86_64
Run Code Online (Sandbox Code Playgroud)

node.js web reactjs material-ui

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

jq 将结果输出为 JSON

jq 是假设

处理/过滤 JSON 输入并将过滤器的结果生成为 JSON

但是,我发现经过jq处理/过滤器后,输出结果不再是 JSON 格式。

例如,https://stedolan.github.io/jq/tutorial/#result5,即

$ curl -s 'https://api.github.com/repos/stedolan/jq/commits?per_page=5' | jq '.[] | {message: .commit.message, name: .commit.committer.name}'
{
  "message": "Merge pull request #162 from stedolan/utf8-fixes\n\nUtf8 fixes. Closes #161",
  "name": "Stephen Dolan"
}
{
  "message": "Reject all overlong UTF8 sequences.",
  "name": "Stephen Dolan"
}
. . . 
Run Code Online (Sandbox Code Playgroud)

有什么解决方法吗?

更新:

如何将整个返回包装成一个 json 结构:

{ "Commits": [ {...}, {...}, {...} ] }
Run Code Online (Sandbox Code Playgroud)

我试过了:

jq '.[] | Commits: [{message: .commit.message, name: .commit.committer.name}]'
jq 'Commits: …
Run Code Online (Sandbox Code Playgroud)

json stream jq

5
推荐指数
2
解决办法
2824
查看次数