小编Kor*_*nel的帖子

matplotlib scatterplot x轴标签

当我将c选项添加到matplotlib中的散点图时,x轴标记为dissapear.这是一个例子:https://github.com/Kornel/scatterplot-matplotlib/blob/master/Scatter%20plot%20x%20axis%20labels.ipynb(欢迎拉取请求:))

这是与笔记本中相同的示例:

import pandas as pd
import matplotlib.pyplot as plt


test_df = pd.DataFrame({
        "X": [1, 2, 3, 4],
        "Y": [5, 4, 2, 1],
        "C": [1, 2, 3, 4]
    })
Run Code Online (Sandbox Code Playgroud)

现在比较结果:

test_df.plot(kind="scatter", x="X", y="Y", s=50);
Run Code Online (Sandbox Code Playgroud)

这里存在x轴标签

至:

test_df.plot(kind="scatter", x="X", y="Y", c="C");
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

x轴标签在哪里?这是我缺少的一个功能吗?

熊猫版:0.18.1 Matplotlib:1.5.3 Python:3.5.2

谢谢你的帮助,Kornel

编辑:@Kewl指出的解决方案是调用plt.subplots并指定轴:

fig, ax = plt.subplots()
test_df.plot(kind="scatter", x="X", y="Y", s=50, c="C", cmap="plasma", ax=ax);
Run Code Online (Sandbox Code Playgroud)

解决了

PS它看起来像一个jupyter问题,没有jupyter笔记本时调用标签很好

python matplotlib pandas

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

关于索引的Cassandra IN子句

假设一个简单的表有一个插入(或没有这个插入,并不重要).

CREATE TABLE test (
 x int,
 y int,
 z int,
 PRIMARY KEY (x, y, z)
);


create index z_index on test (z);

insert into test(x, y, z) values (1,2,3);
Run Code Online (Sandbox Code Playgroud)

我很难理解为什么我不能在索引z上使用in子句进行查询:

cqlsh:test> select*from test其中z in(3);
错误请求:PRIMARY KEY部分z不能被限制(前面部分y不受限制或非EQ关系)

可以使用简单的equals谓词:

cqlsh:test> select * from test where z = 3;

 x | y | z
---+---+---
 1 | 2 | 3

(0 rows)
Run Code Online (Sandbox Code Playgroud)

我认为在z上有一个索引会保留从z的特定值到行的映射,但这个假设似乎是错误的.

为什么这不符合我的预期?我猜索引的工作方式不同.

编辑:我正在使用[cqlsh 4.1.1 | Cassandra 2.0.6 | CQL规范3.1.1 | 节俭协议19.39.0]

database cql cassandra nosql cql3

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

标签 统计

cassandra ×1

cql ×1

cql3 ×1

database ×1

matplotlib ×1

nosql ×1

pandas ×1

python ×1