我已经创建了以下情节情节是这样的:
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 的交互功能?
我有以下代码产生下图
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) 我最近更新到 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 在我的终端中工作?
我正在尝试创建一个图,该图的右下角有一个图例
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 渐变。或者我可以创建一个颜色条,但我不知道如何将其放置在图的一侧而不是图的内部。有没有办法在图例中获得渐变比例?
我有一个看起来像这样的数据框
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 ×5
matplotlib ×2
dataframe ×1
difference ×1
github-pages ×1
html ×1
legend ×1
markdown ×1
pandas ×1
plotly ×1
zsh ×1