小编Chr*_*rge的帖子

在一个图中绘制多条线

尝试使用ggplot将多行绘制成一个图形,但不确定如何使用我的数据集.不确定我是否需要更改数据结构(转置?)

数据如下所示:

Company   2011   2013
Company1  300    350
Company2  320    430
Company3  310    420
Run Code Online (Sandbox Code Playgroud)

我也试过它转置:

Year   Company1  Company2  Company3
2011   300       320       310 
2013   350       430       420
Run Code Online (Sandbox Code Playgroud)

为此我可以使用绘制1个值;

ggplot(data=df, aes(x=Year, y=Company1)) + geom_line(colour="red") + geom_point(colour="red", size=4, shape=21, fill="white")
Run Code Online (Sandbox Code Playgroud)

但我不知道如何将所有公司合并,因为我没有对象'公司'了.有什么建议?

r linegraph ggplot2

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

Seaborn 热图上 y 轴刻度的垂直对齐

我正在绘制 aSeaborn heatmap并且我想将y-axis刻度标签居中,但找不到方法来做到这一点。'va'text 属性似乎在 上不可用yticks()

考虑下

在此处输入图片说明 我想将一周中的几天与一排方块的中心对齐

生成此图的代码

import pandas as pd
import seaborn as sns
import numpy as np
import matplotlib.pyplot as plt

#Generate dummy data
startDate = '2017-11-25'
dateList = pd.date_range(startDate, periods=365).tolist()
df = pd.DataFrame({'Date': dateList,
                'Distance': np.random.normal(loc=15, scale=15, size=(365,))
              })
#set week and day
df['Week'] = [x.isocalendar()[1] for x in df['Date']]
df['Day'] = [x.isocalendar()[2] for x in df['Date']]

#create dataset for heatmap
#group by axis to …
Run Code Online (Sandbox Code Playgroud)

python heatmap seaborn

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

用于数据可视化的最佳工具/编程语言

到目前为止,我主要使用excel绘制我使用PHP从MySQL检索的任何数据(偶尔会有像HighCharts这样的JS库来绘制数据).当我想要更复杂的图表/可视化或者有很多记录(excel得到slooooow)时,这不是一个真正的选择,所以我正在寻找替代方案.但是,有很多选择!我已经下载并尝试了几次R和Processing之类的东西,但我不相信这是"正确"以一种很好的方式绘制数据的正确工具.

所以...我很好奇这里有关最佳出路的意见.学习Python?真的深入Java /处理?还有其他选择吗?(或坚持使用PHP,你有一个真正灵活的图形库?;))

data-visualization

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

Google BigQuery SQL 有等待方法吗

我正在安排一个每天运行的查询,该查询从自动写入 Google BigQuery 的表中获取数据。通常该表就在那里,但我想在根据该表执行查询之前确定一下。

我也在研究其他方法,但最简单的方法似乎是仅使用 SQL 并将检查和重试集成到计划查询中。我可以检查该表是否存在,如果不存在则重试。我似乎无法找到一种方法来不立即执行此操作并让查询在下次重试之前等待 30 分钟。有没有可用的东西,可能类似于“WAITFOR”,可以实现这一目标?

当前的 SQL;

DECLARE retry_count INT64;
DECLARE success BOOL;
DECLARE size_bytes INT64;
DECLARE row_count INT64;
SET retry_count = 1;
SET success = FALSE;

WHILE retry_count <=  3 AND success = FALSE DO
BEGIN
  SET row_count = (SELECT row_count FROM [DATASET].__TABLES__ WHERE table_id='[TABLE]');
  IF row_count > 0  THEN
    SELECT 'Table Exists!' as message, retry_count as retries;
    SET success = TRUE;
  ELSE
    SELECT 'Table does not exist' as message, retry_count as retries, row_count; …
Run Code Online (Sandbox Code Playgroud)

sql google-bigquery

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

在 Seaborn 中使用颜色图作为调色板

这可能是一种误解,颜色图与调色板有何不同,但我想使用 seaborn 中不可用的颜色图来为我的分箱数据集着色。我尝试直接使用可调色板,现在特别是 cmocean,但会得到一个 TypeError;

“LinearSegmentedColormap”对象不可迭代

使用 Seaborn 中可用的任何调色板都可以正常工作,但我需要一个不会变成白色的调色板,因为这会为情节添加奇怪的“条带”。

我有一个包含 3 列的数据框,其中包含数字数据、尺寸,并为图中的颜色使用添加了一个 bin 列。

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import cmocean

cmap=cmocean.cm.balance
cpal=sns.color_palette(cmap,n_colors=64,desat=0.2)

plt.style.use("seaborn-dark")
ax = sns.stripplot(x='Data', y='Dimension', data=dfBalance, jitter=0.15, edgecolor='none', alpha=0.4, size=4, hue='bin', palette=cpal)
sns.despine()
ax.legend_.remove()
plt.show()
Run Code Online (Sandbox Code Playgroud)

python matplotlib seaborn

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

Plotly 文本中的新行

从其他关于此的问题(尽管在 R 中)我了解到您应该能够在 Plotly 的(某些?)文本元素中使用 HTML。但是,如果我尝试在我添加到我的图中的文本中获得一个新行,它将简单地将 html 标记显示为文本而不是“解析”它。我也尝试添加 '\n' 但这只是被忽略了。

我正在使用的跟踪代码;

trace = go.Scattergl(
    x=[0.5],
    y=[4.5],
    text=['A: {} <br> B: {}\nC: {}\nD: {}'.format(a, b, c, d)],
    mode='text'
    )
Run Code Online (Sandbox Code Playgroud)

除此之外,我使用“标准”代码来生成图表;

traces = [trace]
layout = {
    'xaxis':{
        'range':[0,7],
        'showgrid': False,
    },
    'yaxis':{
        'range':[0,7],
        'showgrid': False,
    },
}
fig = dict(data=traces, layout=layout)
plot(fig)
Run Code Online (Sandbox Code Playgroud)

在这种情况下如何添加新行?

python plotly

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

R:处理和绘制分组数据

这是关于这一点的后续问题:R:在一个图中绘制多行

在那里,我使用了部分数据来绘制多行图形图.现在我想在一个网格中绘制多个图形,因为我已经对数据进行了分组.现在我这样做是为每组数据创建数据帧,然后为每个数据帧创建一个图表并将它们组合使用gridd.arrange() 但是,我想知道我是否可以将分组数据作为1个数据集处理,而不是创建所有这些单独的表?

我的数据结构如下:

          Category1    Category2    Category3
Company   2011   2013  2011   2013  2011   2013
Company1  300    350   290    300   295    290
Company2  320    430   305    301   300    400
Company3  310    420   400    305   400    410
Run Code Online (Sandbox Code Playgroud)

那么有没有办法立即处理这个问题并绘制3个图表(每个类别)以及每个公司的年度(2011年和2013年)?

r ggplot2

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

查找文本字符串中的最后一个数字

我想在文本字符串中找到最后一个数字字符的位置.我正在使用这个公式来做到这一点:

MAX(IF(ISERROR(FIND({1; 2; 3; 4; 5; 6; 7; 8; 9; 0},A1)), "",FIND({1; 2; 3; 4; 5; 6; 7; 8; 9; 0},A1))

但是,如果字符串包含重复数字,则不起作用.

例如,当字符串为"10ABC2010ABC"时,它将返回6而不是9.当字符串为"10ABC2131ABN"时,它确实返回8而不是9.

有什么想法发生了什么?

excel

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

如何为 Panda 的日期时间设置缺少的年、月和日

我有格式的时间戳数据%H:%M:%S:%f。当我阅读它并将其传递到带有 pd.to_datetime 的数据帧中时,除了正确传递的内容之外,它还会自动填写 01/01/1900%H:%M:%S:%f 如何在阅读并传递它时将其设置为特定的年、月、日小时、分钟、秒、毫秒数据?

我正在使用的代码:

import pandas as pd
df = pd.DataFrame({'Time': ["00:00:00:001", "00:00:00:005","00:00:00:009"]})
df['Time'] = pd.to_datetime(df['Time'], format='%H:%M:%S:%f')
print(df)
Run Code Online (Sandbox Code Playgroud)

输出:

                     Time
0 1900-01-01 00:00:00.001
1 1900-01-01 00:00:00.005
2 1900-01-01 00:00:00.009
Run Code Online (Sandbox Code Playgroud)

期望的输出:

一个设定的日期,例如:

                     Time
0 2018-11-21 00:00:00.001
1 2018-11-21 00:00:00.005
2 2018-11-21 00:00:00.009
Run Code Online (Sandbox Code Playgroud)

python datetime pandas

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

MySQL从2列中选择不同的值

我有一张桌子,上面有链接.所以在其他方面,有2列包含URL; 来源和目的地.我需要获取表中存在的所有唯一URL的列表(以创建查找表),但是当然,URL可以在两列中.在2列上使用distinct似乎返回唯一的组合,而不是单个值.我可以在1个查询中执行此操作,还是应该使用2(每列一个),然后对该结果进行3d不同的选择?

mysql

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