小编Eth*_*han的帖子

在 GitHub Pages 上显示交互式绘图图表(.html 文件)

我已经创建了以下情节情节是这样的:

import plotly
labels = ['Oxygen', 'Hydrogen', 'Carbon_Dioxide', 'Nitrogen']
values = [4500, 2500, 1053, 500]

trace = plotly.graph_objs.Pie(labels=labels, values=values)
plotly.offline.plot([trace], filename='basic-pie-chart')
Run Code Online (Sandbox Code Playgroud)

然后我创建了这样的html:

print(plotly.offline.plot([trace], include_plotlyjs=False, output_type='div'))
Run Code Online (Sandbox Code Playgroud)

运行上面的代码会生成一个 .html 文件,我可以在浏览器中查看该文件。

有没有办法在我的 GitHub 页面上的 Markdown 文件中间显示 .html 文件,以便我可以使用 plotly 的交互功能?

这是我问的类似问题

html python markdown github-pages plotly

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

基于附近点密度的 matplotlib hexbins 中的十六进制大小

我有以下代码产生下图

import numpy as np
np.random.seed(3)
import pandas as pd
import matplotlib.pyplot as plt
df = pd.DataFrame()
df['X'] = list(np.random.randint(100, size=100)) + list(np.random.randint(30, size=100))
df['Y'] = list(np.random.randint(100, size=100)) + list(np.random.randint(30, size=100))

df['Bin'] = df.apply(lambda row: .1 if row['X'] < 30 and row['Y'] < 30 else .9, axis=1)

fig, ax = plt.subplots(figsize=(10,10))
plt.scatter(df['X'], df['Y'])
Run Code Online (Sandbox Code Playgroud)

分散

我使用 hexbins 绘制了数据,如下所示

from matplotlib import cm

fig, ax = plt.subplots(figsize=(10,10))
hexbin = ax.hexbin(df['X'], df['Y'], C=df['Bin'], gridsize=20, cmap= cm.get_cmap('RdYlBu_r'),edgecolors='black')
plt.show()
Run Code Online (Sandbox Code Playgroud)

六边形

我想根据六边形覆盖的区域中绘制的点的密度来更改六边形的大小。例如,左下角的六边形(点密集的地方)将比其他地方的六边形(点稀疏的地方)大。有没有办法做到这一点?

编辑:我尝试了这个解决方案,但我不知道如何根据 df['Bin'] 为十六进制着色,或者如何设置最小和最大十六进制大小。

from …
Run Code Online (Sandbox Code Playgroud)

python matplotlib

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

OSX Catalina 更新后找不到 pip、conda、python 模块

我最近更新到 OSX Catalina。我注意到的第一件事是 anaconda3 文件夹位于“重新定位的项目”文件夹中,因此我将其移至 /Users/ethanfuerst/。现在,conda 和 pip 都不会在我的终端中运行。当我尝试运行 python 文件时,它说我的模块都没有导入。

我做了这里推荐的修复,但这个修复给了我这个错误:

zsh: /Users/ethanfuerst/anaconda3/bin/conda: bad interpreter: /anaconda3/bin/python: no such file or directory
Run Code Online (Sandbox Code Playgroud)

我需要做什么才能让我的模块运行并使 pip 和 conda 在我的终端中工作?

python zsh macos-catalina

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

创建渐变图例 matplotlib

我正在尝试创建一个图,该图的右下角有一个图例

import numpy as np
import matplotlib.pyplot as plt
np.random.seed(23)

df = pd.DataFrame()
df['x'] = np.random.randint(1, 50, 100)
df['y'] = np.random.randint(1, 50, 100)
df['c'] = [1,2,3,4,5] * 20

# 1 is blue 5 is red
fig, ax = plt.subplots(figsize=(7,7))
hexbins = ax.hexbin(df['x'], df['y'], C=df['c'], 
                 bins=20, gridsize=50, cmap=cm.get_cmap('RdYlBu_r'))

# legend
plt.legend(handles=[mpatches.Patch(color='#A70022', label='1'),
                    mpatches.Patch(color='#303297', label='5')], 
                    loc='lower right', edgecolor='black', framealpha=1)

# colorscale
cb = fig.colorbar(hexbins, ax=ax)
cb.set_label('Color Scale')
Run Code Online (Sandbox Code Playgroud)

阴谋

我可以创建自定义图例,但我不知道如何更改图例以显示 cmap 渐变。或者我可以创建一个颜色条,但我不知道如何将其放置在图的一侧而不是图的内部。有没有办法在图例中获得渐变比例?

python matplotlib legend

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

计算 pandas 中的日期差(以天为单位)

我有一个看起来像这样的数据框

    date        id
0   2019-01-15  c-15-Jan-2019-0
1   2019-01-26  c-26-Jan-2019-1
2   2019-02-02  c-02-Feb-2019-2
3   2019-02-15  c-15-Feb-2019-3
4   2019-02-23  c-23-Feb-2019-4
Run Code Online (Sandbox Code Playgroud)

我想创建一个名为“days_since”的新列,显示自上次记录以来已经过去的天数。例如,新列将是

    date        id              days_since
0   2019-01-15  c-15-Jan-2019-0 NaN
1   2019-01-26  c-26-Jan-2019-1 11
2   2019-02-02  c-02-Feb-2019-2 5
3   2019-02-15  c-15-Feb-2019-3 13
4   2019-02-23  c-23-Feb-2019-4 7
Run Code Online (Sandbox Code Playgroud)

我尝试使用

df_c['days_since'] = df_c.groupby('id')['date'].diff().apply(lambda x: x.days)

但这只是返回了一列充满空值的列。日期列充满了日期时间对象。有任何想法吗?

python dataframe pandas difference

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