小编cal*_*ant的帖子

seaborn 未在定义的子图中绘制

我正在尝试使用此代码并排绘制两个分布图

fig,(ax1,ax2) = plt.subplots(1,2)

sns.displot(x =X_train['Age'], hue=y_train, ax=ax1)
sns.displot(x =X_train['Fare'], hue=y_train, ax=ax2)
Run Code Online (Sandbox Code Playgroud)

它返回以下结果(两个空的子图,后跟一个分布在两行上的图)-

在此处输入图片说明

在此处输入图片说明

在此处输入图片说明

如果我用 violinplot 尝试相同的代码,它会按预期返回结果

fig,(ax1,ax2) = plt.subplots(1,2)

sns.violinplot(y_train, X_train['Age'], ax=ax1)
sns.violinplot(y_train, X_train['Fare'], ax=ax2)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

为什么 displot 返回不同类型的输出,我该怎么做才能在同一行上输出两个图?

python data-visualization seaborn

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

Plotly:使用模板删除图例标题

即使在模板中传递之后,图表仍然显示图例标题,而它应该将默认设置更改为无图例标题'title':Nonelayout.legend传入模板

如果我用 手动传递它fig.update_layout(),它就会删除标题。

分别通过

为什么会发生这种情况?如何将默认设置更改为无图例标题?

这是重新创建图形的代码(手动传入的内容update.layout()已被注释掉)-

import plotly.graph_objects as go
import plotly.io as pio
import plotly.express as px
import pandas as pd

pio.templates['my_theme'] = go.layout.Template({
    'layout': {'annotationdefaults': {'arrowcolor': '#2a3f5f', 'arrowhead': 0, 'arrowwidth': 1},
               'autotypenumbers': 'strict',
               'coloraxis': {'colorbar': {'outlinewidth': 0, 'ticks': ''}},
               'colorscale': {'diverging': [[0, '#8e0152'], [0.1, '#c51b7d'],
                                            [0.2, '#de77ae'], [0.3, '#f1b6da'],
                                            [0.4, '#fde0ef'], [0.5, '#f7f7f7'],
                                            [0.6, '#e6f5d0'], [0.7, '#b8e186'],
                                            [0.8, '#7fbc41'], [0.9, '#4d9221'], [1,
                                            '#276419']],
                              'sequential': [[0.0, '#0d0887'],
                                             [0.1111111111111111, '#46039f'],
                                             [0.2222222222222222, '#7201a8'],
                                             [0.3333333333333333, '#9c179e'], …
Run Code Online (Sandbox Code Playgroud)

python data-visualization plotly plotly-python

7
推荐指数
2
解决办法
9371
查看次数

类型错误:distplot() 得到了一个意外的关键字参数“x”(或“色调”)

当我尝试绘制此图时出现错误-

sns.distplot(X_train, x='Age')                   #Age is a feature in X_train
Run Code Online (Sandbox Code Playgroud)

当我尝试hue在其中添加参数时出现类似错误

sns.distplot(X_train['Age'], hue=y_train)

TypeError: distplot() got an unexpected keyword argument 'hue'
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?这是我尝试代码的地方 -

https://seaborn.pydata.org/tutorial/distributions.html

data-visualization seaborn

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

html 内联样式不再适用于 Jupyter 笔记本单元

当传递style参数和<span>起始块时,我在 Jupyter 笔记本的各个单元格中更改了font-size和所有这些。font-family就像这样——

\n
<span style="font-family:Verdana">Irrelavant text.</span>\n
Run Code Online (Sandbox Code Playgroud)\n

或者

\n
# Model Building\xe2\x80\x83\xe2\x80\x83\xe2\x80\x83\xe2\x80\x83\xe2\x80\x83\xe2\x80\x83\xe2\x80\x83\xe2\x80\x83\xe2\x80\x83\xe2\x80\x83\xe2\x80\x83\xe2\x80\x83\xe2\x80\x83\xe2\x80\x83\xe2\x80\x83\xe2\x80\x83\xe2\x80\x83\xe2\x80\x83\xe2\x80\x83\xe2\x80\x83\xe2\x80\x83\xe2\x80\x83\xe2\x80\x83\xe2\x80\x83<span style="font-size:12px">[Jump to Beginning](#top)</span>\n
Run Code Online (Sandbox Code Playgroud)\n

直到大约一周前,它一直工作得很好,当时所有的style我笔记本中的所有效果都消失了。代码显然仍然存在于降价单元中,但它只是没有显示预期的结果。在 Kaggle 或 JupyterLab 上运行时,同一个笔记本仍然可以工作并加载样式。Jupyter 笔记本是否停止支持它,或者我是否无意中更改了某些内容?在不更改代码的情况下,有什么解决方法,甚至可以解决该问题?

\n

它曾经看起来像这样(避免黑色主题,屏幕截图来自 JupyterLab)-

\n

在此输入图像描述

\n

现在看起来是这样的——

\n

在此输入图像描述

\n

如您所见,font-size:12px不再有任何效果。font-family和喜欢也是如此。

\n

编辑: 笔记本

\n

html css markdown jupyter jupyter-notebook

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

Plotly:如何创建奇数个子图?

我希望第 5 个子图位于第三行两列的中心。(我已经尝试通过添加domain参数来做到这一点)。这是重现它的代码-

import pandas as pd
import plotly.graph_objects as go
from plotly.subplots import make_subplots

continent_df = pd.read_csv('https://raw.githubusercontent.com/vyaduvanshi/helper-files/master/continent.csv')
temp_cont_df = pd.pivot_table(continent_df, index='continent', aggfunc='last').reset_index()

fig = make_subplots(rows=3, cols=2, specs=[[{'type':'pie'},{'type':'pie'}],[{'type':'pie'},{'type':'pie'}],
                                           [{'type':'pie'},{'type':'pie'}]])

fig.add_pie(labels=continent_df.continent, values=continent_df.new_cases, row=1,col=1)
fig.add_pie(labels=continent_df.continent, values=continent_df.new_deaths, row=1,col=2)
fig.add_pie(labels=continent_df.continent, values=continent_df.new_recovered, row=2,col=1)
fig.add_pie(labels=continent_df.continent, values=continent_df.new_tests, row=2,col=2)
fig.add_pie(labels=temp_cont_df.continent, values=temp_cont_df.active_cases, row=3,col=1,domain={'x':[0.25,0.75],'y':[0,0.33]})
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

如果我不在参数中包含第 6 个图specs,则会引发错误。

python data-visualization plotly plotly-python

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

情节:默认删除`trace0`

这不是这个的重复

添加<extra></extra>确保trace#已从图表中删除。但是有没有办法让我把它设为默认设置?

在此处输入图片说明

我正在创建一个自定义的 plotly 主题,并希望它成为默认设置,但它包含在trace类中而不是包含在类中layout。此外,将它添加到调用中的每个跟踪plotly.go调用是重复的。

要重新创建图形 -

import pandas as pd
import plotly.graph_objects as go
from plotly.subplots import make_subplots

world_df = pd.DataFrame({'date': {494: '2021-05-09',
  495: '2021-05-10',
  496: '2021-05-11',
  497: '2021-05-12',
  498: '2021-05-13',
  499: '2021-05-14',
  500: '2021-05-15',
  501: '2021-05-16',
  502: '2021-05-17',
  503: '2021-05-18'},
 'total_deaths': {494: 3293029.0,
  495: 3303796.0,
  496: 3317412.0,
  497: 3331346.0,
  498: 3344481.0,
  499: 3357610.0,
  500: 3369259.0,
  501: 3379349.0,
  502: 3389992.0,
  503: 3404338.0}})

#Comment out line below for exact …
Run Code Online (Sandbox Code Playgroud)

python data-visualization plotly plotly-python

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

Plotly: Range slider not being displayed for row count &gt; 500

在此输入图像描述

从图像中可以看出,范围滑块的脚手架已生成,但其内部的迹线并未生成。除此之外,它的功能也很齐全。通过一些实验,我发现只有当你设置 no 时才可以。行数为 500 或更少,它会正确显示。有没有办法显示更多行?这是重现的代码-

size = 501 #change this to change no. of rows

import numpy as np
import pandas as pd
import plotly.express as px

df = {'date': pd.date_range(start='2021-01-01', periods=size, freq='D'),
     'new_cases': np.random.random(size=size),
     'new_cases_smoothed': np.random.random(size=size)}

df = pd.DataFrame(df)
fig = px.line(df, x='date', y=['new_cases','new_cases_smoothed'])
fig.update_layout(xaxis=dict(rangeslider=dict(visible=True),type="date"))
fig.show()
Run Code Online (Sandbox Code Playgroud)

python customization data-visualization plotly plotly-python

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

情节:从hoverlabels隐藏`null`

我有一个名为的列表my_customdata,其中包含一些nan值。当我绘制森伯斯特图表并将我的列表传递给 时customdata,它会根据需要显示值。但是对于这些nan值,它会显示0(如果我将 si 前缀设置与 customdata 一起传递)或者null如果我没有传递自定义 si 前缀格式。仅当nan列表中有 a 时,我才想隐藏悬停标签中的数据。有可能这样做吗?

在此处输入图片说明

import pandas as pd
import plotly.express as px
import numpy as np


data = {
  'ids':['SA', 'NA', 'Brazil', 'Uruguay', 'USA', 'Canada', 'PFV Brazil', 'PV Brazil', 'PFV Uruguay', 'PV Uruguay', 'PFV USA', 'PV USA', 'PFV Canada', 'PV Canada'],
  'labels': ['SA', 'NA', 'Brazil', 'Uruguay', 'USA', 'Canada', 'PFV', 'PV', 'PFV', 'PV', 'PFV', 'PV', 'PFV', 'PV'],
  'parent': ['', '', 'SA', …
Run Code Online (Sandbox Code Playgroud)

python formatting plotly sunburst-diagram plotly-python

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

Plotly 表达动画:hoverlabel 的更改仅应用于第一帧

import pandas as pd
from pandas import Timestamp
import plotly.express as px

df = pd.DataFrame({'continent': {127: 'South America',
  128: 'South America',
  129: 'South America',
  130: 'South America',
  131: 'South America'},
 'date': {127: Timestamp('2021-03-01 00:00:00'),
  128: Timestamp('2021-03-26 00:00:00'),
  129: Timestamp('2021-04-20 00:00:00'),
  130: Timestamp('2021-05-15 00:00:00'),
  131: Timestamp('2021-06-09 00:00:00')},
 'total_cases': {127: 20465329.0,
  128: 23470911.0,
  129: 26544779.0,
  130: 29891133.0,
  131: 30534015.0}})

fig = px.bar(df, x='continent', y='total_cases', animation_frame=df.date.astype(str),
#              hover_data={'animation_frame':False,
#                         'continent':False,
#                         }
            )

fig.update_traces(hovertemplate='Date:%{animation_frame}<br>Total Cases:%{y}')
Run Code Online (Sandbox Code Playgroud)

运行上述代码会输出带有动画滑块的条形图。仅当您不移动滑块时,对悬停标签所做的更改才可见。一旦你这样做并且框架发生变化,默认的plotly.express悬停标签就会重新出现(我认为是因为跟踪更新了)。有什么解决办法吗?

编辑:添加 GIF 来显示问题

在此输入图像描述

python data-visualization plotly plotly-python

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